package dish;
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;
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class DishApp {
//提前准备一些菜品,展示给用户,同时用户可以点菜
//定义集合(表示小饭店拥有的菜品) 泛型
static List<Dish> dishList = new ArrayList<>();
//用户已点的菜品的集合
static List<Dish>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;
}
Dish dish =dishList.get(id - 1);
System.out.println("亲,您点了:"+dish.name+" 菜");
//用户点一个 存储一个
personDish.add(dish);
}
case 2:
//给用户展示已点的菜品
showPersonDish();
break;
case 3:
//买单
buy();
return;
//return是结束整个while循环 break仅仅只是结束switch
}
}
}
//展示主菜单的方法
public static void showMenu() {
System.out.println("----主菜单----");
System.out.println("菜单 1");
System.out.println("已点菜品 2");
System.out.println("买单 3");
System.out.println("---根据编号选择服务----");
}
//初始化菜品方法
public static void initDish() {
dishList.add(new Dish(1, "香辣肉丝", 29.0));
dishList.add(new Dish(2, "炖王八", 59.0));
dishList.add(new Dish(3, "家常凉菜", 21.0));
dishList.add(new Dish(4, "地三鲜", 24.0));
dishList.add(new Dish(5, "油闷大虾", 55.0));
}
//展示菜单的方法
public static void showDishMenu(){
System.out.println("----请您点菜----");
//遍历集合
for(int i = 0;i < dishList.size();i++){
//从集合中获取每一个 i 对象,赋给dish
Dish dish =dishList.get(i);
System.out.println(dish.id+""+dish.name+""+dish.price);
}
System.out.println("输入序号点菜,按0返回上一级");
}
//展示客户已点的方法
public static void showPersonDish(){
System.out.println("----您已点的菜品----");
//遍历已点菜品集合 增强型for循环
for(Dish dish:personDish){
System.out.println(dish.id+""+dish.name+""+dish.price);
}
}
//买单的方法
public static void buy(){
System.out.println("----请稍等,正在买单----");
//定义总金额
double total = 0f;
//遍历已点菜品的集合
for(Dish dish : personDish){
//单价的累加
total += dish.price;
}
System.out.println("亲,您本次共消费了:"+total+"元");
}