1基础通过数组、选择结构、循环等实 现吃货联盟订餐系统。

1、我要订餐;

2、查看餐袋;

3、签收订单;

4、删除订单;

5、我要点赞;

6、退出系统;

public class Doy001 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String[] names = new String[4];
String[] dishMegs = new String[4];
int[] times = new int[4];
String[] addresses = new String[4];
int[] states = new int[4];
double[] sumPrices = new double[4]; names[0] = "wuli丫头";
dishMegs[0] = "汉堡2份";
times[0] = 12;
addresses[0] = "青年路";
sumPrices[0] = 76.0;
states[0] = 1;
// 第二条订单信息
names[1] = "wuli小仙女";
dishMegs[1] = "脆皮鸡2份";
times[1] = 18;
addresses[1] = "石佛营东里";
sumPrices[1] = 45.0;
states[1] = 0;
// 菜品信息
String[] dishNames = { "汉堡", "脆皮鸡", "柠檬水" };
double[] prices = new double[] { 38.0, 20.0, 10.0 };
int[] praiseNums = new int[3];
int num = -1;
boolean flag = false;
System.out.println("欢迎使用“吃货联盟订餐系统”");
// 进入循环
do {
// 菜单
System.out.println("*******************************");
System.out.println("1、我要订餐");
System.out.println("2、查看餐袋");
System.out.println("3、签收订单");
System.out.println("4、删除订单");
System.out.println("5、我要点赞");
System.out.println("6、退出系统");
System.out.println("*******************************");
System.out.print("请选择:");
int choose = input.nextInt();// 输入编号
switch (choose) {
case 1:
System.out.println("****我要订餐****");
boolean isAdd = false;
for (int i = 0; i < names.length; i++) {
if (names[i] == null) {
isAdd = true;
System.out.print("请输入订餐人姓名:");
String name = input.next();
// 菜品信息
System.out.println("序号" + "\t" + "菜名" + "\t" + "单价");
for (int j = 0; j < dishNames.length; j++) {
String price = prices[j] + "元";
String praiseNum = (praiseNums[j] > 0) ? praiseNums[j]
+ "赞"
: "0";
System.out.println((j + 1) + "\t" + dishNames[j]
+ " \t" + price);
}
// 点菜
System.out.print("请您选择要点的菜品编号:");
int chooseDish = input.nextInt();
System.out.print("请选择您需要的份数:");
int number = input.nextInt();
String dishMeg = dishNames[chooseDish - 1] + " "
+ number + "份";
double sumPrice = prices[chooseDish - 1] * number;
double deliCharge = (sumPrice >= 50) ? 0 : 5;// 满50免送餐费
System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");
int time = input.nextInt();
while (time < 10 || time > 20) {
System.out.print("您输入的时间有误,请输入10~20间的整数!");
time = input.nextInt();
}
// 订单信息
System.out.print("请输入送餐地址:");
String address = input.next();
System.out.println("订餐成功!");
System.out.println("您订的是:" + dishMeg);
System.out.println("送餐时间是:" + time + "点");
System.out.println("餐费" + sumPrice + "元,送餐费"
+ deliCharge + "元,总计:"
+ (sumPrice + deliCharge) + "元");
names[i] = name;
dishMegs[i] = dishMeg;
times[i] = time;
addresses[i] = address;
sumPrices[i] = sumPrice + deliCharge;
break;
}
}
if (!isAdd) {
System.out.println("对不起,您的餐袋已满!");
}
break;
case 2:// 查看餐袋
System.out.println("****查看餐袋****");
System.out.println("序号\t订餐人\t餐品信息\t\t送餐日期"
+ "\t送餐地址\t\t总金额\t订单状态");
for (int i = 0; i < names.length; i++) {
if (names[i] != null) {
String state = (states[i] == 0) ? "已预订" : "已完成";
String date = times[i] + "日";
String sumPrice = sumPrices[i] + "元";
System.out.println((i + 1) + "\t" + names[i] + "\t"
+ dishMegs[i] + "\t" + date + "\t"
+ addresses[i] + "\t" + sumPrice + " \t"
+ state);
}
}
break;
case 3:// 签收订单
System.out.println("****签收订单****");
boolean isSignFind = false;// 找到要签收的订单
System.out.print("请选择要签收的订单序号:");
int choose1 = input.nextInt();
for (int i = 0; i < names.length; i++) {
if (names[i] != null && states[i] == 0 && choose1 == i + 1) {
states[i] = 1;
System.out.println("订单签收成功!");
isSignFind = true;
} else if (names[i] != null && states[i] == 1
&& choose1 == i + 1) {
System.out.println("您选择的订单已完成签收,不能再次签收!");
isSignFind = true;
}
}
if (!isSignFind) {
System.out.println("您选择的订单不存在!");
}
break;
case 4:// 删除订单
System.out.println("****签收订单****");
boolean isdelFind = false;// 是否删除找到的订单
System.out.print("请输入要删除的订单序号:");
int choose2 = input.nextInt();
for (int i = 0; i < names.length; i++) {
if (names[i] != null && states[i] == 1 && choose2 == i + 1) {
isdelFind = true;// 已找到订单
// 删除操作,删除后的元素依次后移
for (int j = choose2 - 1; j < names.length - 1; j++) {
names[j] = names[j + 1];
dishMegs[j] = dishMegs[j + 1];
times[j] = times[j + 1];
addresses[j] = addresses[j + 1];
states[j] = states[j + 1];
sumPrices[j] = sumPrices[j + 1];
}
// 最后一位清空
int endindex = names.length - 1;
names[endindex] = null;
dishMegs[endindex] = null;
times[endindex] = 0;
addresses[endindex] = null;
states[endindex] = 0;
sumPrices[endindex] = 0;
System.out.println("删除订单成功!");
break;
} else if (names[i] != null && states[i] == 0
&& choose2 == i + 1) {
System.out.println("您选择的订单未签收,不能删除!");
isdelFind = true;// 已找到订单
}
}
if (!isdelFind) {
System.out.println("您要删除的订单不存在!");
} break;
case 5:// 我要点赞
System.out.println("****我要点赞****");
// 展示菜品信息
System.out.println("序号" + "\t" + "菜名" + "\t" + "单价");
for (int i = 0; i < dishNames.length; i++) {
String price = prices[i] + "元";
String praiseNum = (praiseNums[i] > 0) ? praiseNums[i]
+ "赞" : "0";
System.out.println((i + 1) + "\t" + dishNames[i] + "\t"
+ price + "\t" + praiseNum);
}
System.out.print("请选择您要点赞的菜品序号:");
int choose3 = input.nextInt();
praiseNums[choose3 - 1]++;
System.out.println("点赞成功!");
break;
case 6:// 退出系统
flag = true;
break;
default:
// 退出系统
flag = true;
break;
}
if (!flag) {
System.out.print("输入0返回!");
num = input.nextInt();
} else {
break;
}
} while (num == 0);
System.out.println("谢谢使用。欢迎下次光临!"); } }

最新文章

  1. Eclipse搭建Maven Prooject(终于)
  2. sql 语句 事务
  3. protobuf-net
  4. Spring(三)Bean继续入门
  5. HDU 5813 Elegant Construction(优雅建造)
  6. 一模 (5) day1
  7. Android Apk反编译得到Java源代码
  8. [js高手之路]html5 canvas动画教程 - 跟着鼠标移动消失的一堆炫彩小球
  9. 提高Maven下载jar包的速度
  10. 简单的3d变换
  11. php的imagick模块扩展
  12. Windows10中的IIS10.0安装php manager和IIS URL 重写2.0组件的方法
  13. Android 修改应用图标(Android Studio)
  14. 枚举进行位运算 枚举组合z
  15. 《DSP using MATLAB》Problem 7.6
  16. MySQL占用IO过高解决方案【转】
  17. 5. MIZ7035 PCIe测试 RIFFA【PCIE视频传输】
  18. Iso-seq 必备基础
  19. 页面跳转 Server.Transfer和 Response.Redirect的区别
  20. java设计模式-观察者模式学习

热门文章

  1. 组合数学中的常见定理&amp;组合数的计算&amp;取模
  2. SPOJcot2 Count on a tree II (树上莫队)
  3. 安装ubuntu16.04之后无法关机和重启
  4. [转载]Doxygen C++ 注释风格
  5. HDU-2616
  6. 1.8-1.10 大数据仓库的数据收集架构及监控日志目录日志数据,实时抽取之hdfs系统上
  7. python类的特殊成员和方法
  8. 精通BitmapData
  9. lightoj 1099【dijkstra/BFS】
  10. hdoj 1588 学好线代与数学