Java基础编程综合项目——基于do-while结构下的简单订餐系统的实现
一、项目背景:
现在校园外卖平台开始兴起,大学生在校创业门槛降低。市场需要一款成本低廉且简单好用的外卖订餐系统,所以本系统应运而生。
二、项目需求分析
本系统开发兼顾开发成本和大学生群体用户体验,将功能分为以下六种:1、订餐模块2、查看餐袋模块3、签收订单模块4、删除订单模块5、点赞菜品模块6、退出模块
三、开发与运行环境
本系统基于Idea集成开发工具平台开发,采用JDK1.8版本编译运行。
四、模块概述与源码
1、订餐模块
System.out.println("***我要订餐***");
double pay = 0.0;
double postPay = 5.0;
boolean flag = false;
for(int i =0; i<names.length;i++){
if(names[i] == null){
flag = true;
states[i] = 0;
System.out.print("请输入订餐人姓名:");
String name = input.next();
names[i] = name;
System.out.println("序号\t菜名\t\t单价\t点赞数\t");
for(int j = 0;j < menu.length;j++){
if(menu != null){
System.out.println(j+1 + "\t" +"\t"+ menu[j] +"\t"+"\t"+price[j]+"元"+"\t"+count[j]);
}
}
System.out.print("请输入您要点的菜品编号:");
int a = input.nextInt();
System.out.print("请选择您需要的份数:");
int b = input.nextInt();
while(true) {
System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");
times[i] = input.nextInt();
if (times[i] <= 20 && times[i] >= 10) {
break;
}else{
System.out.println("请输入正确的送餐时间!");
}
}
System.out.print("请输入送餐地址:");
addresses[i] = input.next();
pay = price[a-1] * b;
if(pay >= 50){
postPay = 0.0;
}
sumPrices[i] = pay+postPay;
//java数组之间直接读入
dishMegs[i] = menu[a-1]+" "+b+"份";
System.out.println("订餐成功!");
System.out.println("您定的是:"+menu[a-1]+" "+b+"份");
System.out.println("送餐时间:"+times[i]+"点");
System.out.println("餐费:"+pay+"元"+","+"送餐费"+postPay+"元"+","+"总计:"+sumPrices[i]+"元");
System.out.print("输入0返回:");
while (true) {
selectNum = input.nextInt();
if (selectNum == 0) {
break;
} else {
System.out.println("非法操作,请正确输入!");
System.out.print("输入0返回:");
}
}
break;
}
}
if(flag == false){
System.out.println("您的餐袋已满!");
}
break;
2、查看餐袋模块
System.out.println("***查看餐袋***");
System.out.println("序号\t订餐人\t餐品信息\t\t送餐时间\t\t送餐地址\t\t总金额\t订单状态");
for (int i = 0; i < names.length; i++) {
String statesName = null;
if (states[i] == 1) {
statesName = "已完成";
} else {
statesName = "未完成";
}
if (names[i] != null) {
System.out.println(i + 1 + "\t" + "\t" + names[i] + "\t" + dishMegs[i] + "\t" + times[i] + "点" + "\t" + "\t" + addresses[i] + "\t" + sumPrices[i] + "元" + "\t" + statesName);
} else {
break;
}
}
System.out.print("输入0返回:");
while (true) {
selectNum = input.nextInt();
if (selectNum == 0) {
break;
} else {
System.out.println("非法操作,请正确输入!");
System.out.print("输入0返回:");
}
}
break;
3、签收订单模块
System.out.println("***签收订单***");
System.out.println("请输入要签收的订单:");
int isSignFind = input.nextInt();
for(int i = 0;i<names.length;i++){
if(names[i] != null && isSignFind == i + 1 && states[i] == 0){
states[i] = 1;
System.out.println("您的订单已签收!");
break;
}else{
System.out.println("请检查您的订单序号!");
}
}
System.out.print("输入0返回:");
while (true) {
selectNum = input.nextInt();
if (selectNum == 0) {
break;
} else {
System.out.println("非法操作,请正确输入!");
System.out.print("输入0返回:");
}
}
break;
4、删除订单模块
System.out.println("***删除订单***");
System.out.println("请输入要删除的订单号:");
int isNumDelete = input.nextInt();
boolean deletePoint = false;
for(int i = 0;i < names.length;i++){
if(names[i] != null && isNumDelete == i+1){
System.out.println("已找到要删除的订单号:" + (1+i) + "号");
deletePoint = true;
for(int j = i;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];
sumPrices[j] = sumPrices[j+1];
states[j] = states[j+1];
}
names[names.length-1] = null;
break;
}
}
if(deletePoint == false){
System.out.println("未找到您输入的订单号!");
}
System.out.print("输入0返回:");
while (true) {
selectNum = input.nextInt();
if (selectNum == 0) {
break;
} else {
System.out.println("非法操作,请正确输入!");
System.out.print("输入0返回:");
}
}
break;
5、菜品点赞模块
System.out.println("***我要点赞***");
System.out.println("序号\t菜名\t\t单价\t点赞数\t");
for(int j = 0;j < menu.length;j++){
if(menu != null){
System.out.println(j+1 + "\t" +"\t"+ menu[j] +"\t"+"\t"+price[j]+"元"+"\t"+count[j]);
}
}
System.out.print("请您输入要点赞的菜品序号:");
int isCount = input.nextInt();
if(isCount <= menu.length){
count[isCount-1]++;
System.out.println("您给" + isCount +"号菜品点赞成功!");
}else{
System.out.println("您输入的菜品编号有误!");
}
System.out.print("输入0返回:");
while (true) {
selectNum = input.nextInt();
if (selectNum == 0) {
break;
} else {
System.out.println("非法操作,请正确输入!");
System.out.print("输入0返回:");
}
}
break;
6、系统退出模块
if(selectNum == 0){
continue;
}else{
System.out.println("谢谢使用,欢迎下次光临!");
break;
}
五、项目总结
本系统完全运用Java基本语法来实现,基本满足大学生群体的校园外卖平台点餐需求。