码迷,mamicode.com
首页 > 其他好文 > 详细

【第五章】吃货联盟订餐系统

时间:2019-01-11 00:08:58      阅读:402      评论:0      收藏:0      [点我收藏+]

标签:完成   pack   char   提示   else   sed   round   数据   地址   

package Task;

import java.util.Scanner;

public class DingCan01 {
public static void main(String[] args){
//数据主体,一组订单信息
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];//订单状态 0:已预定 1:已完成
double[] sumPrices=new double[4];//总金额

//初始化2条订单信息
names[0]="张三";
dishMegs[0]="鱼香肉丝 1份";
times[0]=12;
addresses[0]="观日路48号";
states[0]=0;
sumPrices[0]=24.0;

names[1]="李四";
dishMegs[1]="红烧带鱼 2份";
times[1]=18;
addresses[1]="长乐路06号";
states[1]=1;
sumPrices[1]=76.0;

//数据主体,一组餐品信息
String[] dishNames={"红烧带鱼","鱼香肉丝","时令蔬菜"};
double[] prices={38.0,18.0,10.0};//餐品单价
int[] praiseNums=new int[3];//点赞数
Scanner input=new Scanner(System.in);
int num=-1;
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();//记录用户选择的编号
boolean isAdd=false;//true:记录找到一个为空的位置,可以插入 false:没有找到
//根据用户输入的功能编号,执行相应的功能
while(choose>6||choose<1){
System.out.print("输入错误,请输入有效编号:");
choose = input.nextInt();
}
boolean isExit = false; // 标志用户是否退出系统: true:退出系统
switch(choose){
case 1:
//1、我要订餐
System.out.println("********我要订餐********");
//1.查找要插入的位置,记录下来
for(int i=0;i<names.length;i++){
if(names[i]==null){
isAdd=true;//记录已找到一个为空的位置
//执行插入
//a.显示所有可供选择的餐品信息
System.out.println("序号\t餐品名\t单价\t\t点赞数");
for(int j=0;j<dishNames.length;j++){
String price=prices[j]+"元";
String praise=praiseNums[j]+"赞";
System.out.println((j+1)+"\t"+dishNames[j]+"\t"+price+"\t"+praise);
}
//输入所选餐品编号以及分数
System.out.print("请选择所订餐品序号:");
int chooseDish=input.nextInt();
while(chooseDish>dishNames.length||chooseDish<1) {
System.out.print("对不起,您输入的序号没有信息,请输重新输入:");
chooseDish = input.nextInt();
}
System.out.print("请选择所定份数");
int number=input.nextInt();
String dishMeg=dishNames[chooseDish-1]+" "+number+"份";
//b.输入订餐人姓名
System.out.print("请输入订餐人姓名:");
String name=input.next();
//c.输入送餐时间
System.out.print("请输入送餐时间(10~20整点送餐):");
int time=input.nextInt();
//如果输错了,重复输入
while(time<10||time>20){
System.out.print("对不起,您输入有误,请输入人10~20之间的整数:" );
time=input.nextInt();
}
//d.输入送餐地址
System.out.print("请输入送餐地址");
String address=input.next();
//e.计算餐费
double sumPrice=prices[chooseDish-1]*number;
//d.送餐费,当餐费达到50元时,免6元送餐费
double deliCharge=sumPrice>=50?0.0:6.0;
//显示订单信息
System.out.println("订餐成功");
System.out.println("您定的是:"+dishMeg);
System.out.println("订餐人:"+name);
System.out.println("送餐时间:"+time+"点");
System.out.println("送餐地址:"+address);
System.out.println("餐费:"+sumPrice+",送餐费:"+deliCharge+"元");
System.out.println("总金额“:"+(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:
//2、查看订单
System.out.println("********查看订单********");
System.out.println("序号\t订餐人\t所订餐品信息\t送餐时间\t送餐地址\t\t总金额\t状态");
//遍历数组
for(int i=0;i<names.length;i++){
if(names[i]!=null){
String time =times[i]+"点";
String sumPrice=sumPrices[i]+"元";
String state=states[i]==0?"已预定":"已完成";
System.out.println((i+1)+"\t"+names[i]+"\t\t"+dishMegs[i]+"\t"+time+"\t\t"+addresses[i]+"\t"+sumPrice+"\t"+state);
}
}
break;
case 3:
//3、删除订单
break;
case 4:
//4、签收订单
System.out.print("********请输入要签收的订单序号:");
int signOrderId=input.nextInt();
boolean isFind=false;
for(int i=0;i<names.length;i++){
if(names[i]!=null && states[i]==1 && signOrderId==i+1) {
System.out.println("对不起,您选择的订单已经完成签收,不能再次签收!");
isFind=true;
break;
}else if(names[i]!=null && states[i]==0 && signOrderId==i+1){
states[i]=1;
System.out.println("订单签收成功!");
isFind=true;
break;
}
}
if(!isFind){
System.out.println("对不起,此订单不存在!");
}
break;
case 5:
//5、我要点赞
break;
case 6:
//6、退出系统
isExit=true;
break;
}
if (!isExit) {
System.out.print("输入0返回:");
num = input.nextInt();
while (num != 0) {
System.out.print("输入错误,输入0返回:");
num = input.nextInt();
}
}else{
break;
}
}while(num==0);
System.out.println("谢谢使用,欢迎下次光临");
}
}
//未完待续。。。

【第五章】吃货联盟订餐系统

标签:完成   pack   char   提示   else   sed   round   数据   地址   

原文地址:https://www.cnblogs.com/xiaozhejun/p/10252960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!