定义编号、菜的名字、菜的价格
public class Dish { // 编号 int id; // 菜的名字 String name; // 菜的价格 double price; public Dish(int id, String name, double price){ this.id = id; this.name = name; this.price = price; } }2.菜单主题
基本逻辑: 1.首先呈现一个主菜单,呈现出:点菜,已点菜,买单三个模块。 2.输入点菜的编号会出现菜单,点完菜后返回主菜单 3.输入已点菜的编号会将用户已经点的菜输出给用户,然后呈现主菜单。 4.输入买单的编号会算出用户菜单的总价,然后输出给用户。
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Dishmain { // 提前准备一些菜品,展示给用户,同时用户可以点菜 // 定义集合,用来装饭店拥有的菜品 集合是一种菜品的名字 static List3. 测试dishList = new ArrayList<>(); static List personDish = new ArrayList<>(); public static void main(String[] args) { initDish(); // 创建扫描器,获取到控制台输入的内容 Scanner s = new Scanner(System.in); //写出死循环,来完成主程序的流程设计 while (true){ // 给用户展示主菜单 showMenu(); //获取内容 int num = s.nextInt(); //判断用户输入的数字 switch (num){ case 1: while (true){ //把菜单展示给用户 showDishMenu(); // 获取用户输入的内容 int id = s.nextInt(); //判断 if (id == 0){ break; } // 从饭店的集合中获取菜品的对象 1 2 3 4 5 // 集合的索引: 0 1 2 3 4 Dish dish = dishList.get(id - 1); System.out.println("你点了"+ dish.name+"菜"); // 用户点一个菜,新建一个集合用来存储用户已经点的菜 personDish.add(dish); } case 2: // 展示用户已经点的菜品 showPersonDish(); break; case 3: //买单 buy(); return; } } } // 展示主菜单 public static void showMenu(){ System.out.println("----主菜单----"); System.out.println("菜单ttt 1"); System.out.println("已点菜品tt 2"); System.out.println("买单ttt 3"); } // 客户已经点的菜 public static void showPersonDish(){ System.out.println("----你已经点的菜品----"); // 遍历已点的集合 for (Dish dish : personDish){ System.out.println(dish.id+"t"+dish.name+"t"+ dish.price); } } //买单 public static void buy(){ System.out.println("----稍等,正在结算----"); //定义总金额 double total = 0f; // 遍历已经点的菜品 for (Dish dish : personDish){ //各个菜品的累加 total += dish.price; } System.out.println("你一共消费了:"+total); } // 展示饭店菜单 public static void showDishMenu(){ System.out.println("----请你点菜----"); //遍历集合 for (int i = 0; i < dishList.size(); i++) { // 从集合中使用i 获取每一个菜品对象 Dish dish = dishList.get(i); System.out.println(dish.id+"t"+dish.name+"t"+ dish.price); } System.out.println("----输入序号点菜,按0返回上一级----"); } // 初始化菜品 public static void initDish(){ Dish dish = new Dish(1,"炒拉条",29.0); dishList.add(dish); Dish dish2 = new Dish(2,"炒卤面",23.0); dishList.add(dish2); dishList.add(new Dish(3,"林源盖饭",11.0)); dishList.add(new Dish(4,"老碗面",9.5)); dishList.add(new Dish(5,"麻辣小龙虾",50.0)); } }
这样就完成了一个简单的点菜小流程。
今天出去时间比较紧,找房子走了将近三万步。太累了,就敷衍一下拜拜。
有不清楚不理解的地方可以私信我。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)