栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习路程(3)---熟悉接口、迭代器及Obj常用API

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习路程(3)---熟悉接口、迭代器及Obj常用API

这些都是从开始学习Java的时候一些练习题(收录在这里以便于自己复习)

完成一个小程序,这个小程序能够模拟饭店经营的简单过程。

实现流程简单分为四个步骤:
1.饭店制定菜单(添加菜品)。
2.开张显示菜单,顾客点菜。
3.厨师制作菜单上有的菜(比较顾客点的菜和菜单上的菜)。
4.顾客检查自己所点的菜,完成一次服务,结束程序。


老师给出的一种思路参照:
1.创建一个厨师(Chief)类,和一个顾客(Customer)类。
2.创建一个Action接口用以定义厨师和顾客不同的行为,厨师的Action为比较菜单制作菜品,顾客的Action为检查所点的菜品。
3.最后创建一个主类Restaurant来实现整个流程。

代码实现

定义接口和类(厨师chief 顾客customer)

package test8;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

interface Action{
    public Collection action(Collection a,Collection b);//接口中定义的方法

}
//厨师类
class Chief implements Action{

    //厨师制定菜单,实现方法:控制台输入一个个菜品,再一个个插入Collection集合,最后得到menu集合
    public Collection InitMenu(Collection menu, String dish){
        menu.add(dish);
        return menu;
    }
    //重写action方法,实现比较功能,有的菜品开始制作,没有的提示无法制作
    @Override
    public Collection action(Collection menu,Collection orderDish) {

        Iterator it1 = orderDish.iterator();//生成迭代器,输出顾客的菜单
        Collection sdish = new ArrayList<>();//创建一个新的集合来存储新的菜单
        while (it1.hasNext()){
            String a = it1.next();
            if (menu.contains(a)){
                System.out.println(a+"制作成功");
                sdish.add(a);
            }else{
                System.out.println(a+"这道菜无法制作");
            }
        }
        return sdish;
//返回一个成功制作的菜品集合
    }

}
 class Customer implements Action {

    //和制作菜单类似
    public Collection OrderDish(Collection orderDish,String dish) {
          orderDish.add(dish);
          return orderDish;
    }

    //重写action方法,将所点菜单与厨师制作的菜比较
    @Override
    public Collection action(Collection orderDish, Collection sDish) {
        Iterator it = orderDish.iterator();//生成迭代器,输出顾客的菜单
        while (it.hasNext()){
            String a = it.next();
            if (sDish.contains(a)){
                System.out.println(a+"是我点的菜");
            }else{
                System.out.println("我点的"+a+"没有上");
            }
        }
        return null;

    }

}

定义一个类来进行测试

package test8;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Scanner;

public class Restaurant {
    public static void main(String[] args) {

        //厨师以及顾客实例化
        Chief chief = new Chief();
        Customer customer = new Customer();

        //构建菜单
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入菜单中菜品个数:");
        int n = sc.nextInt();
        System.out.println("请输入"+n+"种菜品到今日菜单");
        Scanner sc1 = new Scanner(System.in);
        //定义主菜单的集合

        Collection Mainmeun = new ArrayList<>();
        for (int i = 0;i it = Mainmeun.iterator();
        System.out.println("===================n店铺开张,欢迎光临n本店菜单如下:");
        while (it.hasNext()){
            String E = it.next();
            System.out.println(E);
        }

        //构建顾客的点菜菜单
        System.out.println("请顾客输入需要点的菜品个数:");
        Scanner sc2 = new Scanner(System.in);
        int m = sc2.nextInt();
        Scanner sc3 = new Scanner(System.in);
        System.out.println("请输入菜品名称:");
        Collection ordermenu = new ArrayList<>();
        for (int j=0;j Sdish = new ArrayList<>();
        Sdish = chief.action(Mainmeun,ordermenu);
        System.out.println("=================");
        customer.action(ordermenu,Sdish);

    }
}

运行截图

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424536.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号