java ee小型 项目 java小项目实例
转载
package com.baidu.www;
/*
* 菜品类
* 提供有参数的构造方法
* */
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;
}
}
package com.baidu.www;
/*
* 点菜主程序
* */
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) {
//先初始化菜单
initDish();
//小饭店就会做五个菜
//创建扫描器对象
Scanner s = new Scanner(System.in);
//写死循环
while (true) {
//给用户展示主菜单
showMenu();
//获取内容
int num = s.nextInt();
//判断用户输入的数字
switch (num) {
case 1:
while (true) {
//把饭店的菜单展示给用户就ok
showDishMenu();
//获取用户输入的内容
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);
}
case 2:
//展示用户已点的菜单
showPersonDish();
break;
case 3:
//买单
buy();
return;
}
}
}
/*
* 展示饭店菜单
* */
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 + " 元");
}
/**
* 展示主菜单
*/
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 dish = new Dish(1, "香辣肉丝", 29.0);
dishList.add(dish);
Dish dish1 = new Dish(1, "炖王八", 59.0);
dishList.add(dish1);
//存放菜单
dishList.add(new Dish(3, "家常凉菜", 21.0));
dishList.add(new Dish(4, "地三鲜", 24.0));
dishList.add(new Dish(5, "油闷大虾", 55.0));
}
}
运行结果:
----主菜单----
菜单 1
已点菜单 2
买单 3
----根据编号请选择服务----
1
----请您点菜----
1 香辣肉丝 29.0
1 炖王八 59.0
3 家常凉菜 21.0
4 地三鲜 24.0
5 油闷大虾 55.0
----输入序号点菜,按0返回上一级----
1
亲,您点了:香辣肉丝 菜
----请您点菜----
1 香辣肉丝 29.0
1 炖王八 59.0
3 家常凉菜 21.0
4 地三鲜 24.0
5 油闷大虾 55.0
----输入序号点菜,按0返回上一级----
2
亲,您点了:炖王八 菜
----请您点菜----
1 香辣肉丝 29.0
1 炖王八 59.0
3 家常凉菜 21.0
4 地三鲜 24.0
5 油闷大虾 55.0
----输入序号点菜,按0返回上一级----
3
亲,您点了:家常凉菜 菜
----请您点菜----
1 香辣肉丝 29.0
1 炖王八 59.0
3 家常凉菜 21.0
4 地三鲜 24.0
5 油闷大虾 55.0
----输入序号点菜,按0返回上一级----
4
亲,您点了:地三鲜 菜
----请您点菜----
1 香辣肉丝 29.0
1 炖王八 59.0
3 家常凉菜 21.0
4 地三鲜 24.0
5 油闷大虾 55.0
----输入序号点菜,按0返回上一级----
5
亲,您点了:油闷大虾 菜
----请您点菜----
1 香辣肉丝 29.0
1 炖王八 59.0
3 家常凉菜 21.0
4 地三鲜 24.0
5 油闷大虾 55.0
----输入序号点菜,按0返回上一级----
0
----您已点的菜品----
1 香辣肉丝 29.0
1 炖王八 59.0
3 家常凉菜 21.0
4 地三鲜 24.0
5 油闷大虾 55.0
----主菜单----
菜单 1
已点菜单 2
买单 3
----根据编号请选择服务----
2
----您已点的菜品----
1 香辣肉丝 29.0
1 炖王八 59.0
3 家常凉菜 21.0
4 地三鲜 24.0
5 油闷大虾 55.0
----主菜单----
菜单 1
已点菜单 2
买单 3
----根据编号请选择服务----
3
----请稍等,正在结算----
亲,您本次共消费了:188.0 元
进程已结束,退出代码 0
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。