栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

吃货联盟java代码(java吃货联盟订餐系统完整版)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

吃货联盟java代码(java吃货联盟订餐系统完整版)

最近呢,奥密克绒出现了,疫情防控严格起来了,我的线下Java程序课程暂时改成了线上了,这两天上了面向对象,对于零基础的我来说还是比较难的,唉 只能说这个进程的速度我来不及消化,趁着周五复习一下也是很老的吃货联盟订餐项目吧(欢迎有伙伴一起交流哦,尽力而为啦)。

import java.util.Scanner;

public class order02 {

	public static void main(String[] args) {
//		扫描器布置,导包!
		Scanner scanner = new Scanner(System.in);
		
		
//		声明变量
		int choice = 0;
		int dishNum = 0;
		boolean isFull = true;
		boolean isFind = true;
		boolean isExit = false;
		
		String[] menu = { "红烧鸡翅", "开水白菜", "红烧猪蹄", "农家炒肉" };
		double[] price = { 24, 15, 36, 5 }; 
		String[] DishName = new String[4];
		int[] copies = new int[4];
		String[] names = new String[4];
		String[] address = new String[4];
		int[] like = new int[4];
		int[] times = new int[4]; 
		double[] money = new double[4];
		int[] con = new int[4];
		
		
		
//		do while 大循环结构包含订餐首页!
		do {
			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("我要:");
			 choice = scanner.nextInt();
			 
			 
//			在do-while循环中,利用switch case语句执行不同的功能页.
			 switch (choice) {
				case 1:
					System.out.println("*******我要订餐*******");
					for (int i = 0; i < names.length; i++) {
						if (names[i]== null) {
							isFull = false;
							System.out.println("请输入订餐人姓名:");
							String name = scanner.next();
				
							System.out.println("序号t菜品tt单价t点赞数");
//	利用for循环遍历菜单数组!
							for (int j = 0; j < menu.length; j++) {
								System.out.println((j+1)+"t"+menu[j]+"t"+price[j]+"t  "+like[j]);
							}
//	利用dowhile循环判断输入菜品序号是否合法!
								do {
									System.out.println("请输入1~4之间的整数,选择相应菜品:");
									 dishNum = scanner.nextInt();
								} while ( dishNum > 4||dishNum < 1);
								System.out.println("请输入份数:");
								int copy = scanner.nextInt();
								System.out.println("请输入地址:");
								String address1 = scanner.next();
								System.out.println("请选择送达时间(输入8-20之间的整数):");
								int time = scanner.nextInt();
								while ( time>20||time<8) {
									System.out.println("请选择送达时间(输入8-20之间的整数):");
									time = scanner.nextInt();
								}
								int deli = (price[dishNum-1]*copy) > 50 ? 0 : 6;
								double money1 = price[dishNum-1]*copy+deli ;
								System.out.println("订餐成功!");
								System.out.println("******订单信息确认******");
								System.out.println("您选择的是:"+menu[dishNum-1]+copy+"份.");
								System.out.println("您的送餐地址是:"+address1);
								System.out.println("送达时间为:"+time);
								System.out.println("餐费:"+price[dishNum-1]*copy+",配送费:"+deli+",总金额:"+money1+".");
//							将这些局部变量赋值给开辟好空间的全局变量数组!
								DishName[i] = menu[dishNum-1];
								names[i] = name;
								copies[i] = copy;
								address[i] = address1;
								times[i] = time;
								money[i] = money1;
								break;
						}
						
						if (isFull) {
							System.out.println("对不起,餐袋已满,请删除订单再来订餐!");
							
						}
					}
					
				break;
	
				
				
			case 2:
				System.out.println("*******查看餐袋*******");
//				利用for循环遍历dishName数组!
				System.out.println("序号"+"t"+"菜品"+"t"+"t"+"份数"+"t"+"t"+"订餐人"+"t"+"地址"+"t"+"送达时间"+"t"+"总金额"+"t"+"订单状态");
				for (int i = 0; i < names.length; i++) {
					if (names[i]!= null) {
						String  state = (con[i] == 0) ? "已预订":"已完成";
						System.out.println((i+1)+"t"+DishName[i]+"t"+copies[i]+"份"+"t"+"t"+names[i]+"t"+address[i]+"t"+times[i]+"t"+"t"+money[i]+"t"+state);
					}
				}
				break;
				
				
			case 3:
				System.out.println("*******签收订单*******");
//				首先 要判断输入要签收的订单序号是否合法,其次是订单是否存在,最后订单是否已经被签收。
				System.out.println("请输入要签收的订单号:");
				int SignNum = scanner.nextInt();
				while(SignNum<1||SignNum>4) {
					System.out.println("请输入正确的签收订单号:");
					 SignNum = scanner.nextInt();
				}
				for (int j = 0; j < con.length; j++) {
					if (names[j] != null&&con[j] == 0&& SignNum ==j+1) {
						con[j] = 1;
						System.out.println("签收成功!");
						isFind = false;
						break;
						
					}
					if (names[j] != null&&con[j] == 1&& SignNum ==j+1) {
						System.out.println("该订单已被签收,请勿重复签收");
						isFind = false;
						break;
					}
					if (isFind) {
						System.out.println("该订单不存在!");
					}
				}
			    break;
			    
			    
			case 4:
				System.out.println("*******删除订单*******");
//				首先判断要删除的订单是否合法,其次判断该订单是否存在,最后判断该订单是否还未被签收。
				System.out.println("请输入要删除的订单序号:");
				int delNum = scanner.nextInt();
				while(delNum<1||delNum>4) {
					System.out.println("请输入正确的删除订单号:");
					delNum = scanner.nextInt();
				}
				for (int j = 0; j < names.length;j++) {
					if (names[j]!= null&&con[j] == 1&& delNum ==j+1) {
						
						for (int k = delNum -1; k < names.length-1; k++) {
							
							names[k] = names[k+1];
							address[k] = address[k+1];
							times[k] =times[k+1];
							DishName[k] =DishName[k+1];
							copies[k] = copies[k+1];
							con[k] = con[k+1];
							money[k] = money[k+1];
						}
						
						names[names.length-1] = "null";
						address[names.length-1] = "null";
						times[names.length-1] =0;
						DishName[names.length-1] ="null";
						copies[names.length-1] = 0;
						con[names.length-1] = 0;
						money[names.length-1] =0;
						
						System.out.println("删除成功!");
						isFind = false;
						break;
					}
					if (names[j]!= null&&con[j] == 0&& delNum ==j+1) {
						System.out.println("该订单还未被签收,无法删除。");
						isFind = false;
						break;
					}
					if (isFind) {
						System.out.println("该订单不存在!");
					}
				}	
				break;
				
				
				
				
			case 5:
				System.out.println("*******我要点赞*******");
				System.out.println("序号t菜品tt单价t点赞数");
//				利用for循环遍历菜单数组!
				for (int j = 0; j < menu.length; j++) {
						System.out.println((j+1)+"t"+menu[j]+"t"+price[j]+"t  "+like[j]);
				}
					System.out.println("请输入要点赞的菜品序号:");
					int likeNum = scanner.nextInt();
//					while循环判断输入的序号是否合法
					while(likeNum<1||likeNum>4) {
						System.out.println("请输入正确的点赞订单号:");
						likeNum = scanner.nextInt();
					}
					like[likeNum-1]++;
				break;
				
				
				
				
				
				
			case 6:
				System.out.println("*******退出系统*******");
				isExit = true;
				break;
					
			default:
				System.out.println("*******输入有误,退出系统*******");
				isExit = true;
				break;
			}
			 if(!isExit) {
					System.out.println("请输入0返回");
					choice = scanner.nextInt();
			 }
			 
			 
			 
			
		} while (choice == 0);
//	当choice 这个变量变为0时执行首页这个循环体.
		

		System.out.println("谢谢使用,欢迎下次光临!");
		scanner.close();
	
	}

}

里面的双斜杠和斜杠+*所标识的汉字都是我自个的标注,不写进代码不会影响的哦,写的还有些许瑕疵,欢迎伙伴找我讨论相互学习!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773168.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号