package com.baidu.www; public class Dish { //编号 int id; //菜的名称 String name; //价格 double price; //生成构造方法 alt+insert public Dish(int id, String name, double price) { this.id = id; this.name = name; this.price = price; } }
package com.baidu.www; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class DishApp { //提前准备一些菜品,展示给用户,同时用户可以点菜 //定义集合(表示小饭店拥有的菜品) 泛型 static ListdishList = 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) { //把饭店的菜单展示给用户就ok 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 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 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 showMenu() { System.out.println("----主菜单----"); System.out.println("菜单ttt 1"); System.out.println("已点菜单tt 2"); System.out.println("买单ttt 3"); System.out.println("----根据编号请选择服务----"); } public static void initDish() { Dish dish = new Dish(1, "香辣肉丝", 29.0); dishList.add(dish); Dish dish1 = new Dish(1, "炖王八", 59.0); dishList.add(dish1); //存放菜单 dishList.add(new Dish(3, "家常凉菜", 21.0)); dishList.add(new Dish(4, "地三鲜", 24.0)); dishList.add(new Dish(5, "油闷大虾", 55.0)); } }
运行结果: ----主菜单---- 菜单 1 已点菜单 2 买单 3 ----根据编号请选择服务---- 1 ----请您点菜---- 1 香辣肉丝 29.0 1 炖王八 59.0 3 家常凉菜 21.0 4 地三鲜 24.0 5 油闷大虾 55.0 ----输入序号点菜,按0返回上一级---- 1 亲,您点了:香辣肉丝 菜 ----请您点菜---- 1 香辣肉丝 29.0 1 炖王八 59.0 3 家常凉菜 21.0 4 地三鲜 24.0 5 油闷大虾 55.0 ----输入序号点菜,按0返回上一级---- 2 亲,您点了:炖王八 菜 ----请您点菜---- 1 香辣肉丝 29.0 1 炖王八 59.0 3 家常凉菜 21.0 4 地三鲜 24.0 5 油闷大虾 55.0 ----输入序号点菜,按0返回上一级---- 3 亲,您点了:家常凉菜 菜 ----请您点菜---- 1 香辣肉丝 29.0 1 炖王八 59.0 3 家常凉菜 21.0 4 地三鲜 24.0 5 油闷大虾 55.0 ----输入序号点菜,按0返回上一级---- 4 亲,您点了:地三鲜 菜 ----请您点菜---- 1 香辣肉丝 29.0 1 炖王八 59.0 3 家常凉菜 21.0 4 地三鲜 24.0 5 油闷大虾 55.0 ----输入序号点菜,按0返回上一级---- 5 亲,您点了:油闷大虾 菜 ----请您点菜---- 1 香辣肉丝 29.0 1 炖王八 59.0 3 家常凉菜 21.0 4 地三鲜 24.0 5 油闷大虾 55.0 ----输入序号点菜,按0返回上一级---- 0 ----您已点的菜品---- 1 香辣肉丝 29.0 1 炖王八 59.0 3 家常凉菜 21.0 4 地三鲜 24.0 5 油闷大虾 55.0 ----主菜单---- 菜单 1 已点菜单 2 买单 3 ----根据编号请选择服务---- 2 ----您已点的菜品---- 1 香辣肉丝 29.0 1 炖王八 59.0 3 家常凉菜 21.0 4 地三鲜 24.0 5 油闷大虾 55.0 ----主菜单---- 菜单 1 已点菜单 2 买单 3 ----根据编号请选择服务---- 3 ----请稍等,正在结算---- 亲,您本次共消费了:188.0 元 进程已结束,退出代码 0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)