培养Java面向对象思想—点餐系统
功能演示
- 主菜单(showMenu)
- 菜单界面(showDish)
- 已点菜品界面
- 结账界面
- 全部概览
功能实现
- Dish类
package com.program;
/**
* @author Chris
*/
public class Dish {
private int no;
private String name;
private double price;
public Dish(int no, String name, double price) {
this.no = no;
this.name = name;
this.price = price;
}
public int getNo() {
return no;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
@Override
public String toString() {
return "Dish{" +
"no=" + no +
", name='" + name + '\'' +
", price=" + price +
'}';
}
}
2.DishApp类
package com.program;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author Chris
*/
public class DishApp {
private static List<Dish> dishList = new ArrayList<>();
private static List<Dish> orderList = new ArrayList<>();
public static void main(String[] args) {
InitDish();
Scanner in = new Scanner(System.in);
while (true){
showMenu();
int choice = in.nextInt();
switch (choice){
case 1:
while (true){
showDish();
int id = in.nextInt();
if(id == 0){
break;
}
orderList.add(dishList.get(id-1));
System.out.println("已点"+id+"号菜品,名称是"+dishList.get(id-1).getName());
}
break;
case 2:
showOrder();
break;
case 3:
buyOrder();
break;
}
if(choice == 0){
break;
}
}
}
public static void buyOrder() {
System.out.println("结账中,请稍后...");
double total = 0;
for(Dish dish : orderList){
total+= dish.getPrice();
}
System.out.println("您本次共计消费"+total+"元");
}
public static void InitDish(){
dishList.add(new Dish(1,"烧茄子",15.0));
dishList.add(new Dish(2,"蒸馒头",10.5));
dishList.add(new Dish(3,"炖鲫鱼",20.4));
dishList.add(new Dish(4,"炒牛肉",33.0));
dishList.add(new Dish(5,"炸豆腐",7.0));
}
public static void showMenu(){
System.out.println("--------主菜单--------");
System.out.println("1\t菜单");
System.out.println("2\t已点菜单");
System.out.println("3\t结账");
System.out.println("0\t退出");
System.out.println("----根据编号选择相应服务----");
}
public static void showDish(){
System.out.println("----请点菜,选择相应菜品编号----");
for(Dish dish:dishList){
System.out.println(dish.getNo()+"\t"+dish.getName()+"\t"+dish.getPrice());
}
System.out.println("-----按0返回上一级-----");
}
public static void showOrder(){
System.out.println("亲,您已点以下菜品:");
System.out.println("编号\t名称\t\t价格");
for(Dish dish:orderList){
System.out.println(dish.getNo()+"\t"+dish.getName()+"\t"+dish.getPrice());
}
}
}