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;
}
}
public class DishApp {
static List<Dish> list = new ArrayList<>();
static List<Dish> personDish = new ArrayList<>(); //选中的菜放到一个集合中
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
infoDish();
while (true){
showDish();
int num = scanner.nextInt();
switch (num){
case 1:
while (true){
showDishMenu();
int id = scanner.nextInt();
if (id == 0){
break;
}
//从饭店的集合里获取的对象是 1 2 3 4 5
//集合的索引 0 1 2 3 4
Dish dish = list.get(id - 1);
System.out.println("亲 您点了" + dish.name + "菜");
personDish.add(dish); //用户点一个 存储一个
}
case 2:
showPersonDish();
break;
case 3:
buyMenu();
return;
}
}
}
private static void buyMenu() { // 3. 买单
System.out.println("您请稍等 正在结算");
double total = 0;
for (Dish dish : personDish) {
total += dish.price;
}
System.out.println("你总共消费了" + total + "元");
}
private static void showPersonDish() { // 2.已点餐单
System.out.println("您已经点的菜品");
for (Dish dish : personDish) {
System.out.println(dish.id + "\t" + dish.name + "\t" + dish.price);
}
}
private static void showDishMenu() { // 1.展示菜单
System.out.println("请嫩点菜");
for (int i = 0; i < list.size(); i++) {
Dish dish = list.get(i);
System.out.println(dish.id + "\t" + dish.name +"\t" + dish.price);
}
System.out.println("---输入序号点餐,按0返回上一级");
}
public static void showDish(){
System.out.println("====主菜单====");
System.out.println("1.菜\t\t\t单");
System.out.println("2.已\t点\t菜\t单");
System.out.println("3.买\t\t\t单");
System.out.println("请输入1~3");
}
public static void infoDish(){ //初始化一些菜品
list.add(new Dish(1,"红烧肉",35));
list.add(new Dish(2,"炖大鹅",75));
list.add(new Dish(3,"叫花鸡",55));
list.add(new Dish(4,"大盘鸡",60));
list.add(new Dish(5,"烤鸭",30));
}
}