Java简单小练习:实现下面功能
package cn.tedu.demo;
public class Dish {
//菜品编号名称 价格
private int id;
private String name;
private double price;
public Dish(int id, String name, double price) {
this.id = id;
this.name = name;
this.price = price;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Dish{" +
"id=" + id +
", name='" + name + '\'' +
", price=" + price +
'}';
}
}
package cn.tedu.demo;
import java.util.ArrayList;
import java.util.Scanner;
public class DishApp {
public static void main(String[] args) {
//集合存放已点的餐
ArrayList<Dish> orderdishes = new ArrayList<>();
start(orderdishes);
}
static void start(ArrayList<Dish> orderdishes) {
System.out.println("------主菜单-----");
System.out.println("菜单------------1");
System.out.println("已点菜品--------2");
System.out.println("买单------------3");
System.out.println("--按0返回主菜单--");
for (int i = 0; i >= 0; i++) {
Scanner scanner = new Scanner(System.in);
int id = scanner.nextInt();
switch (id) {
case 1:
menu(orderdishes);
break;
case 2:
newdish(orderdishes);
break;
case 3:
buydish(orderdishes);
break;
case 0:
start(orderdishes);break;
}
}
}
//菜单+点餐实现
static void menu(ArrayList<Dish> orderdishes){
System.out.println("请点菜!");
//集合存放所有的菜品(已经默认添加)
ArrayList<Dish> dishes = new ArrayList<>();
dishes.add(new Dish(1,"香辣肉丝",29.99));
dishes.add(new Dish(2,"油焖大虾",29.99));
dishes.add(new Dish(3,"水煮鱼",29.99));
dishes.add(new Dish(4,"红烧鲤鱼",29.99));
dishes.add(new Dish(5,"小葱拌豆腐",29.99));
//展示菜品
for (Dish dish:dishes
) {
System.out.println(dish.getId()+dish.getName()+dish.getPrice());
}
System.out.println("请输入序号点菜:---输入0退出点菜");
Scanner scanner = new Scanner(System.in);
//死循环
for (int a=0;a>=0;a++){
boolean ifdish=false;
int i = scanner.nextInt();
if (i!=0) {
for (Dish dish : dishes
) {
if (i == dish.getId()) {
System.out.println("您已点菜!" + dish.getName());
//存入新集合
orderdishes.add(dish);
ifdish=true;
}
}
if(!ifdish){
System.out.println("本店暂无此菜!请重新点菜!");
}
}else break;
}
System.out.println("您已点菜--------");
for (Dish newdishs:orderdishes
) {
System.out.println(newdishs.getId()+newdishs.getName()+newdishs.getPrice());
}
start(orderdishes);
}
static void newdish(ArrayList<Dish> orderdishes){
System.out.println("您已点:");
for (Dish newdishs:orderdishes
) {
System.out.println(newdishs.getId()+newdishs.getName()+newdishs.getPrice());
}
start(orderdishes);
}
static void buydish(ArrayList<Dish> orderdishes){
int price=0;
for (Dish newdishs:orderdishes
) {
price += newdishs.getPrice();
}
System.out.println("您一共消费:"+price+"请出示付款码!");
System.out.println("欢迎下次光临!");
}
}