Dish.java
package cn.tx.demo;
/*
* 菜品类
* 提供有参数的构造方法
* */
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;
}
@Override
public String toString() {
return "Dish{" +
"id=" + id +
", name='" + name + '\'' +
", price=" + price +
'}';
}
}
DishApp.java
在这里插入代码片package cn.tx.demo;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 点菜的程序
*/
public class DishApp {
//提前主备一些菜品,可以展示给用户,同时用户可以点菜
//定义一个集合(表示这个小饭店所有的菜品)
//Todo.1. ** 泛型 **: <Dish>,初始化一个集合,里面只能存储dish对象,不能存储其他的
// 如果是<String>,则表示只能存储字符串(String)
static List<Dish> dishList=new ArrayList<>();
//用户已点菜品集合
static List<Dish> PersonDish=new ArrayList<>();
public static void main(String[] args) {
//Todo.1.1.1. new一个对象后面调用service里面的方法
// sevice usr=new sevice();
//先初始化一些初始菜品
initDish();
//小饭店就会做五个菜
//创建一个扫描器(Scanner)对象,获取控制台输入的内容
Scanner sc1=new Scanner(System.in);
while (true){
//给用户展示一个主菜单
showMenu();
//获取内容,拿到一个num数字
int num =sc1.nextInt();
//判断用户输入的数字
switch (num){
case 1:
while (true){
//把饭店的菜单展示给用户
showdishMenu();
//获取用户输入的内容
int id=sc1.nextInt();
//判断
if(id==0){
break;
}
//从饭店集合中获取到菜品的对象 1 2 3 4 5
//集合索引 0 1 2 3 4 所以id-1
Dish dish= dishList.get(id-1);
System.out.println("亲,您点了:"+dish.name+"菜");
PersonDish.add(dish);
//用户点一个,我们存一个
// for (Dish dish1 : PersonDish) {
// if(dish.name.equals(dish1.name)){
// dish1.id+= 1;
// }
// else{
// PersonDish.add(dish);
// }
// }
}
case 2:
showPersonMenu();
break;
case 3:
//买单
buy();
return;
}
}
}
/**
* 展示饭店菜单
*/
public static void showdishMenu(){
System.out.println("请您点菜!");
//遍历集合 [数组遍历]for (int i = 0; i < arrs.length; i++)
for (int i = 0; i < dishList.size(); i++) {
//从集合中使用i获取每一个菜品对象
Dish dish=dishList.get(i);
// System.out.println(dish);
System.out.println(dish.id+"\t"+dish.name+"\t"+dish.price);
}
System.out.println("===输入序号点菜,按0 返回上一级===");
}
/**
* 客户点了什么菜
*/
public static void showPersonMenu(){
System.out.println("您已点菜品!!");
//遍历集合
for (Dish personDish : PersonDish) {
System.out.println(personDish.id+"\t"+personDish.name+"\t"+personDish.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("菜单\t\t\t 1");
System.out.println("已点菜品\t\t 2");
System.out.println("买单\t\t\t 3");
System.out.println("=====根据编号选择服务:=========");
}
/**
* 初始化一些菜品
*/
public static void initDish(){
Dish dish1=new Dish(1,"香辣肉丝",29);
dishList.add(dish1);
Dish dish2=new Dish(2,"炖王八",69);
dishList.add(dish2);
Dish dish3=new Dish(3,"红烧鸡块",39);
dishList.add(dish3);
//存放菜品
dishList.add(new Dish(4,"红烧肉",99));
dishList.add(new Dish(5,"地三鲜",24));
}
}
代码来源于B站,侵权请联系删除
本文含有隐藏内容,请 开通VIP 后查看