Java适合新手练习的项目——在线点餐系统

写一个小程序练练手,顺便练习自己写代码的思路与逻辑。作为菜鸟程序员来说的话,我觉得除了理论知识外,通过大量的代码题和独立写项目是学习提升最快的方式了吧!因为是针对新手练习的简单小项目,所以会一步一步来写并且做解释,可以利于完全吃透和理解这个小项目(我写了三遍)。大佬勿喷!!

第一步,搭结构。

选择界面使用do{}while();循环来实现,具体功能选择用switch,代码如下:

import java.util.Scanner;

public class OrderThird {

	public static void main(String[]args){
		int choose=0;
		Scanner input=new Scanner(System.in);
		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.print("\t\t请选择(1-6):");
			
			choose=input.nextInt();
			switch(choose){
			case 1:
				System.out.println("");
				break;
				
			case 2:
				System.out.println("");				
				break;
				
			case 3:
				System.out.println("");
				break;
				
			case 4:
				System.out.println("");
				break;
				
			case 5:
				System.out.println("");
				break;
				
			case 6:
				System.out.println("");
				break;
				
				default:
					System.out.println("输入错误,请重新输入");
			}
		}while(choose!=6);
	}
}

效果如下:

在这里插入图片描述

第二步,编写case2"查看餐袋"功能

写好需要用的数组并且初始化两条订餐信息,遍历数组,代码如下:

import java.util.Scanner;

public class OrderThird {

	public static void main(String[]args){
		int choose=0;
		Scanner input=new Scanner(System.in);
		
		String []name=new String[4];    //订餐者姓名
		String []order=new String[4];   //点菜信息及数量
		int [] time=new int[4];         //送餐时间
		String [] adress=new String[4]; //订餐地址
		int [] price=new int[4];        //订单价钱
		int state[]=new int[4];         //订单状态0或者1,不写默认0
		String[] dishName={"口水鸡","红烧肉","酱牛肉","土豆丝","蛋炒饭"};   //菜品
		int []prices={28,35,50,20,15};   //菜品单价
		int []count={20,22,13,66,88};    //点赞数量
		
		name[0]="张三";
		order[0]="红烧肉*2";
		time[0]=70;
		adress[0]="运河大街105号";
		price[0]=23;
		state[0]=0;
		
		name[1]="李四";
		order[1]="口水鸡*1";
		time[1]=17;
		adress[1]="新华大街15号";
		price[1]=28;
		state[1]=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.print("\t\t请选择(1-6):");
			
			choose=input.nextInt();
			switch(choose){
			case 1:
				System.out.println("");
				break;
				
			case 2:
				System.out.println("******查看餐袋******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){				
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";  //三元运算符
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				break;			
				
			case 3:
				System.out.println("");
				break;
				
			case 4:
				System.out.println("");
				break;
				
			case 5:
				System.out.println("");
				break;
				
			case 6:
				System.out.println("");
				break;
				
				default:
					System.out.println("输入错误,请重新输入");
			}
		}while(choose!=6);
	}
}

注意:state代表订单状态(只有0或1),所以用三元运算符判断state[i]是否为0,字符串***String states***赋值为已定或者已完成,效果如下:

在这里插入图片描述

第三步,编写case1 "我要订餐"功能

使用Scanner获取订餐者信息,然后赋值并且遍历订餐者信息,代码如下:

import java.util.Scanner;

public class OrderThird {

	public static void main(String[]args){
		int choose=0;
		Scanner input=new Scanner(System.in);
		
		String []name=new String[4];
		String []order=new String[4];   //点菜信息及数量
		int [] time=new int[4];         //送餐时间
		String [] adress=new String[4];
		int [] price=new int[4];        //订单价钱
		int state[]=new int[4];         //订单状态0或者1,不写默认0
		String[] dishName={"口水鸡","红烧肉","酱牛肉","土豆丝","蛋炒饭"};
		int []prices={28,35,50,20,15};   //菜品单价
		int []count={20,22,13,66,88};    //点赞数量
		
		name[0]="张三";
		order[0]="红烧肉*2";
		time[0]=70;
		adress[0]="运河大街105号";
		price[0]=23;
		state[0]=0;
		
		name[1]="李四";
		order[1]="口水鸡*1";
		time[1]=17;
		adress[1]="新华大街15号";
		price[1]=28;
		state[1]=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.print("                 6.退出");
			System.out.println("\t\t请选择(1-6):");
			
			choose=input.nextInt();
			switch(choose){
			case 1:
				System.out.println("******天堂酒店******");
				System.out.println("序号\t菜名\t价格");
				for(int i=0;i<prices.length;i++){
					System.out.println((i+1)+"\t"+dishName[i]+"\t"+prices[i]);  //遍历菜单
				}
				
				System.out.println("请输入您的姓名");
				String names=input.next();                                      //接收订餐者姓名
				System.out.println("请输入菜单编号");                               
				int num=input.nextInt();                                        //接收订餐菜品  num-1为菜品
				System.out.println("请输入需要的份数");
				int num2=input.nextInt();                                       //接收订餐份数 
				System.out.println("请选择送餐时间(10-20):");                       
				int num3=input.nextInt();                                       //接收送餐时间
				System.out.println("请输入送餐地址");
				String address1=input.next();                                   //接收送餐地址
				int total=prices[num-1]*num2;                                   //餐品价格 =菜品单价*份数
				int num4=total<=50? 6:0;                                        //订单运费=三元运算符判断:餐品价格小于50元,运费6元,否则0元。
				for(int i=0;i<name.length;i++){
					if(name[i]==null){
						name[i]=names;
						order[i]=dishName[num-1]+"*"+num2;                      //赋值点菜信息及数量=菜品+"*"+订餐份数
						time[i]=num3;                                           //赋值送餐时间 
						adress[i]=address1;                                     //赋值地址
						price[i]=total+num4;                                    //赋值订单价格=餐品价格+运费
						break;
					}
				}
				System.out.println("订餐成功");
				System.out.println("您定的是"+dishName[num-1]+"*"+num2+"份");
				System.out.println("送餐时间是:"+num3+"点");
				System.out.println("餐费是:"+total+"元、配送费:"+num4+"元、合计:"+(total+num4)+"、送餐地址:"+address1);
				break;
				
			case 2:
				System.out.println("******查看餐袋******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){				
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";  //三元运算符
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				break;			
				
			case 3:
				System.out.println("");
				break;
				
			case 4:
				System.out.println("");
				break;
				
			case 5:
				System.out.println("");
				break;
				
			case 6:
				System.out.println("");
				break;
				
				default:
					System.out.println("输入错误,请重新输入");
			}
		}while(choose!=6);
	}
}

这步的重点为获取信息后赋值,一定把每个变量名和值分清,不能混乱,完成后效果如下:

在这里插入图片描述

第四步,编写case3"签收订单功能"

先用for循环找出订单是否存在,然后再用Boolean和选择结构判断,代码如下:

import java.util.Scanner;

public class OrderThird {

	public static void main(String[]args){
		int choose=0;
		Scanner input=new Scanner(System.in);
		
		String []name=new String[4];
		String []order=new String[4];   //点菜信息及数量
		int [] time=new int[4];         //送餐时间
		String [] adress=new String[4];
		int [] price=new int[4];        //订单价钱
		int state[]=new int[4];         //订单状态0或者1,不写默认0
		String[] dishName={"口水鸡","红烧肉","酱牛肉","土豆丝","蛋炒饭"};
		int []prices={28,35,50,20,15};   //菜品单价
		int []count={20,22,13,66,88};    //点赞数量
		
		name[0]="张三";
		order[0]="红烧肉*2";
		time[0]=70;
		adress[0]="运河大街105号";
		price[0]=23;
		state[0]=0;
		
		name[1]="李四";
		order[1]="口水鸡*1";
		time[1]=17;
		adress[1]="新华大街15号";
		price[1]=28;
		state[1]=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.print("\t\t请选择(1-6):");
			
			choose=input.nextInt();
			switch(choose){
			case 1:
				System.out.println("******天堂酒店******");
				System.out.println("序号\t菜名\t价格");
				for(int i=0;i<prices.length;i++){
					System.out.println((i+1)+"\t"+dishName[i]+"\t"+prices[i]);  //遍历菜单
				}
				
				System.out.println("请输入您的姓名");
				String names=input.next();                                      //接收订餐者姓名
				System.out.println("请输入菜单编号");                               
				int num=input.nextInt();                                        //接收订餐菜品  num-1为菜品
				System.out.println("请输入需要的份数");
				int num2=input.nextInt();                                       //接收订餐份数 
				System.out.println("请选择送餐时间(10-20):");                       
				int num3=input.nextInt();                                       //接收送餐时间
				System.out.println("请输入送餐地址");
				String address1=input.next();                                   //接收送餐地址
				int total=prices[num-1]*num2;                                   //餐品价格 =菜品单价*份数
				int num4=total<=50? 6:0;                                        //订单运费=三元运算符判断:餐品价格小于50元,运费6元,否则0元。
				for(int i=0;i<name.length;i++){
					if(name[i]==null){                                          //判断订餐者元素是否为null(空),是null赋值。
						name[i]=names;
						order[i]=dishName[num-1]+"*"+num2;                      //赋值点菜信息及数量=菜品+"*"+订餐份数
						time[i]=num3;                                           //赋值送餐时间 
						adress[i]=address1;                                     //赋值地址
						price[i]=total+num4;                                    //赋值订单价格=餐品价格+运费
						break;
					}
				}
				System.out.println("订餐成功");
				System.out.println("您定的是"+dishName[num-1]+"*"+num2+"份");
				System.out.println("送餐时间是:"+num3+"点");
				System.out.println("餐费是:"+total+"元、配送费:"+num4+"元、合计:"+(total+num4)+"、送餐地址:"+address1);
				break;
				
			case 2:
				System.out.println("******查看餐袋******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){				
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";  //三元运算符
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				break;			
				
			case 3:
				System.out.println("******签收订单******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				System.out.println("请确认签收的订单");
				num4=input.nextInt();
				boolean isExist=true;
				for(int i=0;i<name.length;i++){
					if(name[i]!=null&&(num4-1)==i){
						isExist=false;
						break;
					}
				}
				if(isExist){
					System.out.print("对不起,没有该订单");
				}else{
					if(state[num4-1]==0){
						System.out.println("已经成功签收");
						state[num4-1]=1;
					}else if(state[num4-1]==1){
						System.out.println("对不起,订单已经签收,不能在签收!");
					}
				}
				break;
				
			case 4:
				break;
				
			case 5:
				System.out.println("");
				break;
				
			case 6:
				System.out.println("");
				break;
				
				default:
					System.out.println("输入错误,请重新输入");
			}
		}while(choose!=6);
	}
}

这步的那带你是写好判断语句,效果如下:

在这里插入图片描述

第五步,编写case4"删除订单"功能,具体方法和第四部差不多,代码如下:

import java.util.Scanner;

public class OrderThird {

	public static void main(String[]args){
		int choose=0;
		Scanner input=new Scanner(System.in);
		
		String []name=new String[4];
		String []order=new String[4];   //点菜信息及数量
		int [] time=new int[4];         //送餐时间
		String [] adress=new String[4];
		int [] price=new int[4];        //订单价钱
		int state[]=new int[4];         //订单状态0或者1,不写默认0
		String[] dishName={"口水鸡","红烧肉","酱牛肉","土豆丝","蛋炒饭"};
		int []prices={28,35,50,20,15};   //菜品单价
		int []count={20,22,13,66,88};    //点赞数量
		
		name[0]="张三";
		order[0]="红烧肉*2";
		time[0]=70;
		adress[0]="运河大街105号";
		price[0]=23;
		state[0]=0;
		
		name[1]="李四";
		order[1]="口水鸡*1";
		time[1]=17;
		adress[1]="新华大街15号";
		price[1]=28;
		state[1]=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.print("\t\t请选择(1-6):");
			
			choose=input.nextInt();
			switch(choose){
			case 1:
				System.out.println("******天堂酒店******");
				System.out.println("序号\t菜名\t价格");
				for(int i=0;i<prices.length;i++){
					System.out.println((i+1)+"\t"+dishName[i]+"\t"+prices[i]);  //遍历菜单
				}
				
				System.out.println("请输入您的姓名");
				String names=input.next();                                      //接收订餐者姓名
				System.out.println("请输入菜单编号");                               
				int num=input.nextInt();                                        //接收订餐菜品  num-1为菜品
				System.out.println("请输入需要的份数");
				int num2=input.nextInt();                                       //接收订餐份数 
				System.out.println("请选择送餐时间(10-20):");                       
				int num3=input.nextInt();                                       //接收送餐时间
				System.out.println("请输入送餐地址");
				String address1=input.next();                                   //接收送餐地址
				int total=prices[num-1]*num2;                                   //餐品价格 =菜品单价*份数
				int num4=total<=50? 6:0;                                        //订单运费=三元运算符判断:餐品价格小于50元,运费6元,否则0元。
				for(int i=0;i<name.length;i++){
					if(name[i]==null){                                          //判断订餐者元素是否为null(空),是null赋值。
						name[i]=names;
						order[i]=dishName[num-1]+"*"+num2;                      //赋值点菜信息及数量=菜品+"*"+订餐份数
						time[i]=num3;                                           //赋值送餐时间 
						adress[i]=address1;                                     //赋值地址
						price[i]=total+num4;                                    //赋值订单价格=餐品价格+运费
						break;
					}
				}
				System.out.println("订餐成功");
				System.out.println("您定的是"+dishName[num-1]+"*"+num2+"份");
				System.out.println("送餐时间是:"+num3+"点");
				System.out.println("餐费是:"+total+"元、配送费:"+num4+"元、合计:"+(total+num4)+"、送餐地址:"+address1);
				break;
				
			case 2:
				System.out.println("******查看餐袋******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){				
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";  //三元运算符
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				break;			
				
			case 3:
				System.out.println("******签收订单******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				System.out.println("请确认签收的订单");
				num4=input.nextInt();
				boolean isExist=true;
				for(int i=0;i<name.length;i++){
					if(name[i]!=null&&(num4-1)==i){
						isExist=false;
						break;
					}
				}
				if(isExist){
					System.out.print("对不起,没有该订单");
				}else{
					if(state[num4-1]==0){
						System.out.println("已经成功签收");
						state[num4-1]=1;
					}else if(state[num4-1]==1){
						System.out.println("对不起,订单已经签收,不能在签收!");
					}
				}
				break;
				
			case 4:
				System.out.println("******删除订单******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				System.out.println("请输入要删除的订单号");
				int num5=input.nextInt();
			    isExist=true;
				for(int i=0;i<name.length;i++){
					if(name[i]!=null&&(num5-1)==i){
						isExist=false;
					}
				}
				if(isExist){
					System.out.println("对不起,该订单 不存在");
				}else{
					if(state[num5-1]==0){
						System.out.println("订单未签收,不能删除");
					}else if(state[num5-1]==1){
						int index=0;
						for(int i=0;i<name.length;i++){
							if(name[i]!=null&&state[num5-1]==i){
								index=i;								
								break;
							}
						}
						
						for(int i=index;i<name.length-1;i++){
							name[i]=name[i+1];
							order[i]=order[i+1];
							time[i]=time[i+1];
							adress[i]=adress[i+1];
							state[i]=state[i+1];
						}
						
						name[name.length-1]=null;
						System.out.println("删除成功");
					}
				}
				break;
				
			case 5:
				System.out.println("");
				break;
				
			case 6:
				System.out.println("");
				break;
				
				default:
					System.out.println("输入错误,请重新输入");
			}
		}while(choose!=6);
	}
}

效果如下:

在这里插入图片描述

第六步,编写case5"我要点赞"功能

遍历写好的点赞数组,for循环外couunt[num6-1]++,实现具体菜品点赞数+1的功能!代码如下:

import java.util.Scanner;

public class OrderThird {

	public static void main(String[]args){
		int choose=0;
		Scanner input=new Scanner(System.in);
		
		String []name=new String[4];
		String []order=new String[4];   //点菜信息及数量
		int [] time=new int[4];         //送餐时间
		String [] adress=new String[4];
		int [] price=new int[4];        //订单价钱
		int state[]=new int[4];         //订单状态0或者1,不写默认0
		String[] dishName={"口水鸡","红烧肉","酱牛肉","土豆丝","蛋炒饭"};
		int []prices={28,35,50,20,15};   //菜品单价
		int []count={20,22,13,66,88};    //点赞数量
		
		name[0]="张三";
		order[0]="红烧肉*2";
		time[0]=70;
		adress[0]="运河大街105号";
		price[0]=23;
		state[0]=0;
		
		name[1]="李四";
		order[1]="口水鸡*1";
		time[1]=17;
		adress[1]="新华大街15号";
		price[1]=28;
		state[1]=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.print("\t\t请选择(1-6):");
			
			choose=input.nextInt();
			switch(choose){
			case 1:
				System.out.println("******天堂酒店******");
				System.out.println("序号\t菜名\t价格");
				for(int i=0;i<prices.length;i++){
					System.out.println((i+1)+"\t"+dishName[i]+"\t"+prices[i]);  //遍历菜单
				}
				
				System.out.println("请输入您的姓名");
				String names=input.next();                                      //接收订餐者姓名
				System.out.println("请输入菜单编号");                               
				int num=input.nextInt();                                        //接收订餐菜品  num-1为菜品
				System.out.println("请输入需要的份数");
				int num2=input.nextInt();                                       //接收订餐份数 
				System.out.println("请选择送餐时间(10-20):");                       
				int num3=input.nextInt();                                       //接收送餐时间
				System.out.println("请输入送餐地址");
				String address1=input.next();                                   //接收送餐地址
				int total=prices[num-1]*num2;                                   //餐品价格 =菜品单价*份数
				int num4=total<=50? 6:0;                                        //订单运费=三元运算符判断:餐品价格小于50元,运费6元,否则0元。
				for(int i=0;i<name.length;i++){
					if(name[i]==null){                                          //判断订餐者元素是否为null(空),是null赋值。
						name[i]=names;
						order[i]=dishName[num-1]+"*"+num2;                      //赋值点菜信息及数量=菜品+"*"+订餐份数
						time[i]=num3;                                           //赋值送餐时间 
						adress[i]=address1;                                     //赋值地址
						price[i]=total+num4;                                    //赋值订单价格=餐品价格+运费
						break;
					}
				}
				System.out.println("订餐成功");
				System.out.println("您定的是"+dishName[num-1]+"*"+num2+"份");
				System.out.println("送餐时间是:"+num3+"点");
				System.out.println("餐费是:"+total+"元、配送费:"+num4+"元、合计:"+(total+num4)+"、送餐地址:"+address1);
				break;
				
			case 2:
				System.out.println("******查看餐袋******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){				
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";  //三元运算符
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				break;			
				
			case 3:
				System.out.println("******签收订单******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				System.out.println("请确认签收的订单");
				num4=input.nextInt();
				boolean isExist=true;
				for(int i=0;i<name.length;i++){
					if(name[i]!=null&&(num4-1)==i){
						isExist=false;
						break;
					}
				}
				if(isExist){
					System.out.print("对不起,没有该订单");
				}else{
					if(state[num4-1]==0){
						System.out.println("已经成功签收");
						state[num4-1]=1;
					}else if(state[num4-1]==1){
						System.out.println("对不起,订单已经签收,不能在签收!");
					}
				}
				break;
				
			case 4:
				System.out.println("******删除订单******");
				System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t总金额\t订单地址\t\t订单状态");
				for(int i = 0;i<name.length;i++){
					if(name[i]!=null){
						String states=state[i]==0? "已定":"已完成";
						System.out.println((i+1)+"\t"+name[i]+"\t"+order[i]+"\t"
								+time[i]+"\t"+price[i]+"\t"+adress[i]+"\t"+states);
					}
				}
				System.out.println("请输入要删除的订单号");
				int num5=input.nextInt();
			    isExist=true;
				for(int i=0;i<name.length;i++){
					if(name[i]!=null&&(num5-1)==i){
						isExist=false;
					}
				}
				if(isExist){
					System.out.println("对不起,该订单 不存在");
				}else{
					if(state[num5-1]==0){
						System.out.println("订单未签收,不能删除");
					}else if(state[num5-1]==1){
						int index=0;
						for(int i=0;i<name.length;i++){
							if(name[i]!=null&&state[num5-1]==i){
								index=i;								
								break;
							}
						}
						
						for(int i=index;i<name.length-1;i++){
							name[i]=name[i+1];
							order[i]=order[i+1];
							time[i]=time[i+1];
							adress[i]=adress[i+1];
							state[i]=state[i+1];
						}
						
						name[name.length-1]=null;
						System.out.println("删除成功");
					}
				}
				break;
				
			case 5:
				System.out.println("序号\t菜名\t点赞量");
				for(int i=0;i<dishName.length;i++){
					System.out.println((i+1)+"\t"+dishName[i]+"\t"+count[i]);
				}
				System.out.println("请输入要点赞菜品的序号");
				int num6=input.nextInt();
				count[num6-1]++;
				for(int i=0;i<dishName.length;i++){
					System.out.println((i+1)+"\t"+dishName[i]+"\t"+count[i]);
				}
				break;
				
			case 6:
				System.out.println("谢谢使用");
				break;
				
				default:
					System.out.println("输入错误,请重新输入");
			}
		}while(choose!=6);
	}
}

效果如下:

在这里插入图片描述

总结:

至此,代码所有功能写完,这虽然是一个很简单的小项目,但是对刚接触编程的新手来说练练手和思维还是不错的,这个小项目感觉1、3、4功能稍微难一点,2和5还有搭框架较为容易,不过只要思路理清,还是很容易完成的。End

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java rookie.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值