Java基础练习demo下单系统
实体类代码
package wechatmini;
/**
菜品类
提供参数
*/
public class dish {
// 编号
int id;
// 名字
static String name;
// 价格
double price;
// 生成构造方法
public dish(int id, String name, double price) {
this.id = id;
this.name = name;
this.price = price;
}
}
主程序
package wechatmini;
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) {
// 初始化菜品
intDish();
// 创建扫描器对象,获取控制台输入的内容
Scanner s = new Scanner(System.in);
while (true) {
// 给用户展示菜单
ShowMenu();
// 获取内容
int i = s.nextInt();
// 判断用户输入的数字
switch (i) {
case 1:
while (true) {
ShowDishMenu();
// 获取用户输入内容
int id = s.nextInt();
// 判断
if (id == 0) {
break;
}
// 获取菜品
dish dish = dishList.get(id - 1);
System.out.println("已点:" + dish.name);
}
}
// 展示给用户已经点的菜单
switch (i) {
case 2:
while (true) {
showdish();
int ss = s.nextInt();
if (ss == 0) {
break;
}
dish dish = personDish.get(ss - 1);
System.out.println("删除:"+ dish.name);
}
// 把菜单展示给用户
}
switch (i) {
case 3:
// 买单
buy();
return;
}
}
}
//初始化菜品
public static void intDish() {
// 存放菜品
dishList.add(new dish(1,"红烧肉",20.00));
dishList.add(new dish(2,"红烧🐟",30.00));
dishList.add(new dish(3, "麻辣香锅", 29.00));
}
// 展示主菜单
public static void ShowMenu() {
System.out.println("------主菜单------");
System.out.println("菜单\t\t\t1");
System.out.println("已点菜品\t\t2");
System.out.println("买单\t\t\t3");
System.out.println("------根据编号选择服务------");
}
// 展示主菜单
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\t"+dish.name+"\t\t"+ dish.price);
}
System.out.println("----输入序号点菜,按0返回上一级----");
}
// 客户已点
public static void showdish() {
System.out.println("------已点菜单------");
// 遍历已点集合
for (dish dish : personDish) {
System.out.println(dish.id+"\t\t"+dish.name+"\t\t"+ dish.price);
}
System.out.println("----输入序号点菜,按0返回上一级----");
}
// 结账
public static void buy() {
System.out.println("------正在结算中------");
// 金额累加
double total = 0f;
// 便利已点菜品
for (dish dish : personDish) {
total += dish.price;
}
System.out.println("金额为"+total);
}
}