一丶项目简介
这个项目是一个简单的餐馆点单系统,主要包括主界面,点单,查看已点菜品和买单。主要用的是简单的javase代码,包括Scanner,List集合,类。
二丶项目代码
DishDemo.java
package DishDemo.Dish;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
//点菜主程序
public class DishDemo {
//提前准备一些菜品,展示给用户,同时用户可以点菜
//定义一个集合(表示拥有的菜品)
static List<Dish> dishList = new ArrayList<>();//Lish<Dish> 泛型,只能存Dish类
//客户已点菜品集合
static List<Dish> personDish = new ArrayList<>();//Lish<Dish> 泛型,只能存Dish类
public static void main(String[] args){
//先初始化菜品
initDish();
//System.out.println(dishList);
//小饭店会做五个菜
//创建扫描器对象,获取到控制台输入的内容
Scanner s = new Scanner(System.in);
//写死循环
while(true){
//给用户展示主菜单
showMenu();
//获取内容
int num = s.nextInt();
//判断用户输入的数字
switch (num){
case 1:
//把饭店菜单展示给用户
showDishMenu();
while(true){
//获取用户输入的内容
int id = s.nextInt();
//判断
if(id == 0){
break;
}
//从饭店的集合中获取菜品的对象 1 2 3 4 5
//集合的索引 0 1 2 3 4
Dish dish = dishList.get(id-1);
System.out.println("您点了:"+dish.name);
//用户点一个存储一个
personDish.add(dish);
}
break;
case 2 :
//展示用户已点的菜品
showPersonDish();
break;
case 3 :
//买单
buy();
return;
}
}
}
/*
初始化方法
*/
//初始化菜单
public static void initDish(){
//存放菜品
Dish dish = new Dish(1,"香辣肉丝",29.0);
dishList.add(dish);
dishList.add(new Dish(2,"炖汤",35.0));
dishList.add(new Dish(3,"凉菜",20.0));
dishList.add(new Dish(4,"炒青菜",25.0));
dishList.add(new Dish(5,"红烧排骨",40.0));
}
//展示主菜单
public static void showMenu(){
System.out.println("====主菜单====");
System.out.println("菜单\t\t1 ");
System.out.println("已点菜品\t\t2");
System.out.println("买单\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"+dish.name+"\t"+dish.price);
}
System.out.println("----输入序号点菜,按0返回菜单----");
}
public static void showPersonDish(){
System.out.println("====已点菜品===-");
for(Dish dish : personDish){
System.out.println(dish.id+"\t"+dish.name+"\t"+dish.price);
}
}
public static void buy(){
System.out.println("----请稍等,正在结算----");
//定义总金额
double total = 0f;
//遍历已点菜品
for(Dish dish : personDish){
//单价的累加
total += dish.price;
}
System.out.println("----本次共消费"+total+"元----");
}
}
Dish.java
package DishDemo.Dish;
//菜品类
//提供有参数的构造方法
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;
}
}
三丶效果展示
四丶总结
这是一个基础的小项目,主要作用是通过写一个简单的项目来学习java项目的编写思路。项目中有些功能不太完整,比如重复点单的计算,删除菜品的功能等。这个项目是根据网上的思路编写的,所以一些不足之处就没有完善,在之后自己完成的项目会把细节处理好。
|