初始化:
public class OrderingSet {
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];
}
测试类:
public class OrderingMgr {
public static void main(String[] args) {
OrderingUtil util=new OrderingUtil();
util.menu();
}
}
主代码:
import java.util.Scanner;
public class OrderingUtil {
String[]dishName={"红烧带鱼","鱼香肉丝","时令鲜蔬"};
double[]prices=new double[]{38.0,20.0,10.0};
int[]praiseNums=new int[3];
Scanner input = new Scanner(System.in);
OrderingSet ost=new OrderingSet();
public void menu() {
boolean inBig = false;
int lin=-1;
int num=0;
System.out.println("欢迎使用“吃货联盟订餐系统”");
do {
System.out.println("*****************************************");
System.out.println("1.我要订餐\n2.查看餐袋\n3.签收订单\n4.删除订单\n5.我要点赞\n6.退出系统");
System.out.println("*****************************************");
System.out.println("请选择:");
if (input.hasNextInt()==true){
num = input.nextInt();
switch (num) {
case 1:
System.out.println("***我要订餐***");
table();
break;
case 2:
System.out.println("***查看餐袋***");
menuInitial();
break;
case 3:
System.out.println("***签收订单***");
qian();
break;
case 4:
System.out.println("***删除订单***");
delete();
break;
case 5:
System.out.println("***我要点赞***");
like();
break;
case 6:
System.out.println("***退出系统***");
System.out.println("谢谢使用,欢迎下次光临!");
inBig=true;
break;
default:
System.out.println("输入错误,请重新输入:");
menu();
inBig=true;
break;
}
if (!inBig){
System.out.println("输入0返回:");
lin=input.nextInt();
}else {
break;
}
}else {
System.out.println("您输入的不是数字");
String[]dishName={"红烧带鱼","鱼香肉丝","时令鲜蔬"};
double[]prices=new double[]{38.0,20.0,10.0};
int[]praiseNums=new int[3];
Scanner input = new Scanner(System.in);
OrderingSet ost=new OrderingSet();
public void menu() {
boolean inBig = false;
int lin=-1;
int num=0;
System.out.println("欢迎使用“吃货联盟订餐系统”");
do {
System.out.println("*****************************************");
System.out.println("1.我要订餐\n2.查看餐袋\n3.签收订单\n4.删除订单\n5.我要点赞\n6.退出系统");
System.out.println("*****************************************");
System.out.println("请选择:");
if (input.hasNextInt()==true){
num = input.nextInt();
switch (num) {
case 1:
System.out.println("***我要订餐***");
table();
break;
case 2:
System.out.println("***查看餐袋***");
menuInitial();
break;
case 3:
System.out.println("***签收订单***");
qian();
break;
case 4:
System.out.println("***删除订单***");
delete();
break;
case 5:
System.out.println("***我要点赞***");
like();
break;
case 6:
System.out.println("***退出系统***");
System.out.println("谢谢使用,欢迎下次光临!");
inBig=true;
break;
default:
System.out.println("输入错误,请重新输入:");
menu();
inBig=true;
break;
}
if (!inBig){
System.out.println("输入0返回:");
lin=input.nextInt();
}else {
break;
}
}else {
System.out.println("您输入的不是数字");
break;
}
}while (lin==0);
}
//查看餐袋
public void menuInitial(){
System.out.println("序号\t\t订餐人\t\t餐品信息\t\t送餐时间\t\t送餐地址\t\t总金额\t\t订餐状态");
for (int i = 0; i < ost.names.length; i++) {
if (ost.names[i]!=null){
String state=(ost.states[i]==0)?"已预订":"已完成";
String date=ost.times[i]+"点";
String sumPrice=ost.sumPrices[i]+"元";
System.out.println((i+1)+"\t\t"+ost.names[i]+"\t\t"+ost.dishMegs[i]+"\t\t"+date+"\t\t\t"+ost.addresses[i]+"\t\t\t"+sumPrice+"\t\t"+state);
}
}
}
//我要订餐
public boolean table(){
boolean isAdd=false;
for (int j=0;j<ost.names.length;j++){
if (ost.names[j]==null){
isAdd=true;
System.out.println("请输入订餐人姓名:");
String name=input.next();
System.out.println("序号\t\t菜名\t\t\t单价\t\t点赞数");
for (int i=0;i<dishName.length;i++){
String price=prices[i]+"元";
String priaiseNum=(praiseNums[i])>0?praiseNums[i]+"赞":"0";
System.out.println((i+1)+"\t\t"+dishName[i]+"\t\t"+price+"\t\t"+priaiseNum);
}
System.out.println("请选择您要点的菜品编号:");
int pwed=input.nextInt();
System.out.println("请选择您需要的份数");
int test=input.nextInt();
String dishMg=dishName[pwed-1]+""+test+"份";
double sumPrice=prices[pwed-1]*test;
System.out.println("请输入送餐时间(送餐时间是10点至20点整点送餐):");
int time=input.nextInt();
while (time<10||time>20){
System.out.println("您的输入有误,请输入10-20间的整数!");
time=input.nextInt();
}
System.out.println("请输入送餐地址:");
String add=input.next();
System.out.println("订餐成功!");
System.out.println("您订的是:"+dishMg);
System.out.println("送餐时间:"+time+"点");
if (sumPrice<50){
double deliCharge=5.0;
System.out.println("餐费:"+sumPrice+"元,送餐费:"+deliCharge+"元,总计:"+(sumPrice+deliCharge)+"元");
ost.names[j]=name;
ost.dishMegs[j]=dishMg;
ost.times[j]=time;
ost.addresses[j]=add;
ost.sumPrices[j]=sumPrice+deliCharge;
break;
}else {
System.out.println("餐费:"+sumPrice+"元,送餐费:"+"0"+"元,总计:"+sumPrice+"元");
ost.names[j]=name;
ost.dishMegs[j]=dishMg;
ost.times[j]=time;
ost.addresses[j]=add;
ost.sumPrices[j]=sumPrice;
break;
}
}
}
if (!isAdd){
System.out.println("对不起,您的餐袋已满!");
return false;
}else {
return true;
}
}
//签收订单
public void qian(){
boolean isFind=false;
System.out.println("请选择要签收的订单序号:");
int sum=input.nextInt();
for (int i=0;i<ost.names.length;i++){
if (ost.names[i]!=null&&ost.states[i]==0&&sum==i+1){
ost.states[i]=1;
System.out.println("订单签收成功!");
isFind=true;
}else if (ost.names[i]!=null&&ost.states[i]==1&&sum==i+1){
System.out.println("您选择的订单已完成签收,不能再次签收!");
isFind=true;
}
}
if (!isFind){
System.out.println("您选择的订单不存在!");
}
}
//删除订单
public void delete(){
boolean isDe=false;
System.out.println("请输入要删除的订单:");
int order=input.nextInt();
for (int i=0;i<ost.names.length;i++){
if (ost.names[i]!=null&&ost.states[i]==1&&order==i+1){
isDe=true;
for (int j=0;j>ost.names.length;j++){
ost.names[j]=ost.names[j+1];
ost.dishMegs[j]=ost.dishMegs[j+1];
ost.times[j]=ost.times[j+1];
ost.addresses[j]=ost.addresses[j+1];
ost.states[j]=ost.states[j+1];
ost.sumPrices[j]=ost.sumPrices[j+1];
}
int endIndex=ost.names.length-1;
ost.names[endIndex]=null;
ost.dishMegs[endIndex]=null;
ost.times[endIndex]=0;
ost.addresses[endIndex]=null;
ost.states[endIndex]=0;
ost.sumPrices[endIndex]=0;
System.out.println("删除订单成功!");
break;
}else if (ost.names[i]!=null&&ost.states[i]==0&&order==i+1){
System.out.println("您选择的订单未签收,不能删除!");
isDe=true;
break;
}
}
if (!isDe){
System.out.println("您要删除的订单不存在!");
}
}
//我要点赞
public void like(){
System.out.println("序号\t\t菜名\t\t单价");
for (int i = 0; i < dishName.length; i++) {
String price=dishName[i]+"元";
String priaiseNum=(praiseNums[i])>0?praiseNums[i]+"赞":" ";
System.out.println((i+1)+"\t\t"+dishName[i]+"\t\t"+price+"\t\t"+priaiseNum);
}
System.out.println("请选择您要点赞的菜品序号:");
int bum=input.nextInt();
praiseNums[bum-1]++;
System.out.println("点赞成功!");
}
}
}while (lin==0);
}
//查看餐袋
public void menuInitial(){
System.out.println("序号\t\t订餐人\t\t餐品信息\t\t送餐时间\t\t送餐地址\t\t总金额\t\t订餐状态");
for (int i = 0; i < ost.names.length; i++) {
if (ost.names[i]!=null){
String state=(ost.states[i]==0)?"已预订":"已完成";
String date=ost.times[i]+"点";
String sumPrice=ost.sumPrices[i]+"元";
System.out.println((i+1)+"\t\t"+ost.names[i]+"\t\t"+ost.dishMegs[i]+"\t\t"+date+"\t\t\t"+ost.addresses[i]+"\t\t\t"+sumPrice+"\t\t"+state);
}
}
}
//我要订餐
public boolean table(){
boolean isAdd=false;
for (int j=0;j<ost.names.length;j++){
if (ost.names[j]==null){
isAdd=true;
System.out.println("请输入订餐人姓名:");
String name=input.next();
System.out.println("序号\t\t菜名\t\t\t单价\t\t点赞数");
for (int i=0;i<dishName.length;i++){
String price=prices[i]+"元";
String priaiseNum=(praiseNums[i])>0?praiseNums[i]+"赞":"0";
System.out.println((i+1)+"\t\t"+dishName[i]+"\t\t"+price+"\t\t"+priaiseNum);
}
System.out.println("请选择您要点的菜品编号:");
int pwed=input.nextInt();
System.out.println("请选择您需要的份数");
int test=input.nextInt();
String dishMg=dishName[pwed-1]+""+test+"份";
double sumPrice=prices[pwed-1]*test;
System.out.println("请输入送餐时间(送餐时间是10点至20点整点送餐):");
int time=input.nextInt();
while (time<10||time>20){
System.out.println("您的输入有误,请输入10-20间的整数!");
time=input.nextInt();
}
System.out.println("请输入送餐地址:");
String add=input.next();
System.out.println("订餐成功!");
System.out.println("您订的是:"+dishMg);
System.out.println("送餐时间:"+time+"点");
if (sumPrice<50){
double deliCharge=5.0;
System.out.println("餐费:"+sumPrice+"元,送餐费:"+deliCharge+"元,总计:"+(sumPrice+deliCharge)+"元");
ost.names[j]=name;
ost.dishMegs[j]=dishMg;
ost.times[j]=time;
ost.addresses[j]=add;
ost.sumPrices[j]=sumPrice+deliCharge;
break;
}else {
System.out.println("餐费:"+sumPrice+"元,送餐费:"+"0"+"元,总计:"+sumPrice+"元");
ost.names[j]=name;
ost.dishMegs[j]=dishMg;
ost.times[j]=time;
ost.addresses[j]=add;
ost.sumPrices[j]=sumPrice;
break;
}
}
}
if (!isAdd){
System.out.println("对不起,您的餐袋已满!");
return false;
}else {
return true;
}
}
//签收订单
public void qian(){
boolean isFind=false;
System.out.println("请选择要签收的订单序号:");
int sum=input.nextInt();
for (int i=0;i<ost.names.length;i++){
if (ost.names[i]!=null&&ost.states[i]==0&&sum==i+1){
ost.states[i]=1;
System.out.println("订单签收成功!");
isFind=true;
}else if (ost.names[i]!=null&&ost.states[i]==1&&sum==i+1){
System.out.println("您选择的订单已完成签收,不能再次签收!");
isFind=true;
}
}
if (!isFind){
System.out.println("您选择的订单不存在!");
}
}
//删除订单
public void delete(){
boolean isDe=false;
System.out.println("请输入要删除的订单:");
int order=input.nextInt();
for (int i=0;i<ost.names.length;i++){
if (ost.names[i]!=null&&ost.states[i]==1&&order==i+1){
isDe=true;
for (int j=0;j>ost.names.length;j++){
ost.names[j]=ost.names[j+1];
ost.dishMegs[j]=ost.dishMegs[j+1];
ost.times[j]=ost.times[j+1];
ost.addresses[j]=ost.addresses[j+1];
ost.states[j]=ost.states[j+1];
ost.sumPrices[j]=ost.sumPrices[j+1];
}
int endIndex=ost.names.length-1;
ost.names[endIndex]=null;
ost.dishMegs[endIndex]=null;
ost.times[endIndex]=0;
ost.addresses[endIndex]=null;
ost.states[endIndex]=0;
ost.sumPrices[endIndex]=0;
System.out.println("删除订单成功!");
break;
}else if (ost.names[i]!=null&&ost.states[i]==0&&order==i+1){
System.out.println("您选择的订单未签收,不能删除!");
isDe=true;
break;
}
}
if (!isDe){
System.out.println("您要删除的订单不存在!");
}
}
//我要点赞
public void like(){
System.out.println("序号\t\t菜名\t\t单价");
for (int i = 0; i < dishName.length; i++) {
String price=dishName[i]+"元";
String priaiseNum=(praiseNums[i])>0?praiseNums[i]+"赞":" ";
System.out.println((i+1)+"\t\t"+dishName[i]+"\t\t"+price+"\t\t"+priaiseNum);
}
System.out.println("请选择您要点赞的菜品序号:");
int bum=input.nextInt();
praiseNums[bum-1]++;
System.out.println("点赞成功!");
}