最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實戰(zhàn)之吃貨聯(lián)盟訂餐系統(tǒng)

 更新時間:2021年04月28日 14:33:02   作者:不想搬磚ouo  
這篇文章主要介紹了Java實戰(zhàn)之吃貨聯(lián)盟訂餐系統(tǒng),文中有非常詳細的代碼示例,對正在學習java的小伙伴們有非常好的幫助,需要的朋友可以參考下

一、前言

剛剛學完java基礎入門,主要學習Java基本環(huán)境搭建,定義變量、選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)、數(shù)組等。本階段結(jié)束嘗試接觸此次吃貨聯(lián)盟訂餐系統(tǒng),第一次敲這么長的代碼,后面多見識見識應該就好了,多加努力?。?/p>

吃貨聯(lián)盟訂餐系統(tǒng)包含的功能:我要訂餐、查看餐袋、簽收訂單、刪除訂單、我要點贊、退出系統(tǒng)

二、基本業(yè)務分析

我要訂餐

1.輸入訂餐人姓名

2.將所有的菜品進行展示

3.輸入要訂的菜品序號

4.輸入要訂的菜品份數(shù)

5.輸入配送時間

6.輸入配送地址

7.顯示訂餐信息

查看餐袋

1.直接展示所有的訂單信息

我要簽收

1.展示所有的訂單信息

2.輸入要簽收的訂單序號

3.如果已經(jīng)完成不允許重復簽收

4.如果未完成則可以進行簽收

5.展示簽收成功

刪除訂單

1.展示所有的訂單信息

2.輸入要刪除的訂單序號

3.如果未完成(已預訂)則不允許刪除

4.如果已完成可以進行訂單刪除

5.展示刪除成功

我要點贊

1.展示所有的菜品信息

2.輸入點贊的菜品序號

3.提示點贊成功

退出系統(tǒng)

1.提示結(jié)束語

2.執(zhí)行程序退出

三、完整代碼

public class OrderingMsg {

	public static void main(String[] args) {
		//初始化數(shù)據(jù)
		//數(shù)據(jù)主體:一組訂單信息
		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];               //訂單狀態(tài):0 已預購 1 已完成
		double[] sumPrices = new double[4];     //總金額
		
		//初始化兩個訂單信息
		names[0] = "蓋倫";
		dishMegs[0] = "紅燒帶魚 2份";
		times[0] = 3;
		addresses[0] = "德瑪西亞";
		sumPrices[0] = 76.0;
		states[0] = 1;
		
		names[1] = "拉克絲";
		dishMegs[1] = "紅燒帶魚 1份";
		times[1] = 10;
		addresses[1] = "德瑪西亞";
		sumPrices[0] = 20;
		
		//供選擇的菜品信息
		String[] dishNames = {"紅燒帶魚","魚香肉絲","時令蔬菜"};
		//菜品單價
		double[] prices = new double[] {38.0,20.0,10};
		int[] praiseNums = new int[3];
		Scanner input = new Scanner(System.in);
		//用戶輸入0返回主菜單,否則退出系統(tǒng)
		int num = -1;
		//標記用戶是否提出系統(tǒng) true:退出系統(tǒng)
		boolean isExit = false;
		System.out.println("\n歡迎使用吃貨聯(lián)盟系統(tǒng)");
		//循環(huán):顯示菜單,根據(jù)用戶選擇,執(zhí)行響應功能
		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:退出系統(tǒng)");
		    System.out.println("*******************");
		    System.out.println("請選擇:");
			//記錄客戶選擇功能的編號
		    int choose = input.nextInt();
		    //記錄用戶選擇的功能編號
		    boolean isAdd = false;
		    //找到要簽收的訂單
		    boolean isSignFind = false;
		    //找到要刪除的訂單
		    boolean isDelFind = false;
		    //根據(jù)用戶選擇的功能編號執(zhí)行響應功能
		    switch (choose) {
			
		    case 1:
		    	//我要訂餐
				System.out.println("*********我要訂餐*********");
				//循環(huán)展示菜單
				for (int j = 0; j <names.length; j++) {
					//找到第一個空位置,可以添加訂單信息
					if(names[j]==null) {
						//標記位置,可以訂餐
						isAdd =true;
						System.out.println("請輸入訂餐人的姓名:");
						String name = input.next();
						//顯示供選擇的菜品信息
						System.out.println("序號"+"\t"+"菜名"+"\t"+"單價");
						for (int i = 0; i < dishNames.length; i++) {
							String price = prices [i] +"元";
							String priaiseNum =(praiseNums[i])>0?praiseNums[i]+"贊":"";
							System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+priaiseNum);
						}
						//用戶點菜
						System.out.println("請選擇您要點的菜品編號:");
						int chooseDish = input.nextInt();
						System.out.println("請選擇您需要的份數(shù):");
						int number = input.nextInt();
					 String  dishMeg =	dishNames[chooseDish-1]+""+number+"份";
					 double sumPrice = prices[chooseDish-1]*number;
					 //餐費滿50元,免送餐費10元
					 double deliCharge =(sumPrice>=50)?0:6;
					 System.out.println("請輸入送餐時間(送餐時間是10點至20點間整點送餐:)");
					 int time = input.nextInt();
					 while (time<10||time>20) {
						 System.out.println("您輸入有誤,請輸入10~20間的整數(shù)!");
						 time = input.nextInt();
					 }
					 System.out.println("請輸入送餐地址:");
					 String address =input.next();
					 //無需添加狀態(tài),默認是0,即已預訂狀態(tài).
					 System.out.println("訂餐成功!");
					 System.out.println("您訂的是:"+dishMeg);
					 System.out.println("送餐時間是:"+time+"點");
					 System.out.println("餐費:"+sumPrice+"元,送餐費"+deliCharge+"元,總計:"+(sumPrice+deliCharge)+"元");
					 //添加數(shù)據(jù)
					 names[j]=name;
					 dishMegs[j] =dishMeg;
					 times[j] =time;
					 addresses[j] =address;
					 sumPrices[j] =sumPrice+deliCharge;
					 break;
					}
				}
				if(!isAdd) {
					System.out.println("對不起,您的餐袋已滿!");
				}
		    	break;
		    case 2:
		    	 //查看餐袋
				System.out.println("*********查看餐袋**********");
				System.out.println("序號\t訂餐人\t餐品信息\t\t送餐時間\t\t總金額\t訂單狀態(tài)");
				for (int i = 0; i < names.length; i++) {
					//查看餐袋中的內(nèi)容,如果是空就跳出,不在查看
					if (names[i]==null) {
						String state = (states[i]==0)?"已預定":"已完成";
						String data = times[i]+"日";
						String sumPrice = sumPrices[i]+"元";
						System.out.println((i+1)+"\t"+names[i]+"\t"+dishMegs[i]+"\t"+addresses[i]+"\t"+sumPrice+"\t"+state);
					}
				}
		    	break;
		    case 3:
		    	//簽收訂單
		    	System.out.println("*********簽收訂單**********");
		    	System.out.println("請選擇要簽收的訂單序號:");
		    	int signOrder = input.nextInt();
		    	for (int i = 0; i < names.length; i++) {
					//狀態(tài)為已預定,序號為用戶輸入的訂單序號:可簽收
		    		//狀態(tài)為已完成,序號為用戶輸入訂單序號:不可簽收
		    		if (names[i]!=null&&states[i]==1&&signOrder==i+1) {
						System.out.println("您選擇的訂單已完成簽收,不能再次簽收");
						isSignFind = true;
					}
				}
		    	//未找到的訂單序號:不可簽收
		    	if (!isSignFind) {
					System.out.println("您選擇的訂單不存在!");
				}
		    	break;
		    case 4:
		    	//刪除訂單
		    	System.out.println("*********刪除訂單**********");
		    	System.out.println("請輸入要刪除的訂單序號:");
		    	int delId = input.nextInt();
		    	for (int i = 0; i < names.length; i++) {
					//狀態(tài)值為已完成 選侯志為用戶輸入的序號:可刪除
		    		//狀態(tài)值為已預定 序號值為用戶輸入的序號:不可刪除
		    		if (names[i]!=null&&states[i]==1&&delId==i+1) {
						isDelFind = true;
						//執(zhí)行刪除操作:刪除位置后的元素依次前移
						for (int j = delId+1; 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];
							states[j] = states[j+1];
						}
						//最后一位清空
						names[names.length-1] = null;
						dishMegs[dishMegs.length-1] = null;
						times[names.length] = 0;
						addresses[names.length-1] = null;
						states[names.length-1] = 0;
						System.out.println("刪除訂單成功!");
						break;
					}else if (names[i]!=null&&states[i]==0&&delId==i+1) {
						System.out.println("您選擇的訂單未簽收,不能刪除!");
						isDelFind = true;
						break;
					}
				}
		    	//未找到該序號的訂單,不能刪除
		    	if (isDelFind) {
					System.out.println("您要刪除的訂單不存在!");
				}
		    	break;
		    case 5:
		    	//我要點贊
		    	System.out.println("*********我要點贊**********");
		    	//顯示菜品信息
		    	System.out.println("序號"+"\t"+"菜名"+"\t"+"單價");
		    	for (int i = 0; i < dishNames.length; i++) {
					String price = prices[i]+"元";
					String praiseNum = (praiseNums[i])>0?praiseNums[i]+"贊":"";
					System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+praiseNum);
				}
		    	System.out.println("請選擇您要點贊的菜品序號:");
		    	int praiseNum = input.nextInt();
		    	praiseNums[praiseNum-1]++;   //點贊數(shù)+1
		    	System.out.println("點贊成功");
		    	break;
		    case 6:
		    	//退出系統(tǒng)
		    	isExit = true;
		    	break;
		    	default:
		    		//退出系統(tǒng)
		    		isExit = true;
		    	    break;
		    	    
	}
		    if (isExit) {
				System.out.println("返回0輸出:");
				num = input.nextInt();
			}else {
				break;
			}
        }while (num==0);
		System.out.println("感謝使用,歡迎下次光臨");
   }
}

四、有關eclipse的快捷鍵

1.補全代碼的聲明:alt + /

2.快速修復: ctrl + 1

3.批量導包:ctrl + shift + o

4.使用單行注釋:ctrl + /

5.使用多行注釋: ctrl + shift + /

6.取消多行注釋:ctrl + shift + \

7.復制指定行的代碼:ctrl + alt + down 或 ctrl + alt + up

8.刪除指定行的代碼:ctrl + d

9.上下移動代碼:alt + up 或 alt + down

10.切換到下一行代碼空位:shift + enter

11.切換到上一行代碼空位:ctrl + shift + enter

12.如何查看源碼:ctrl + 選中指定的結(jié)構(gòu) 或 ctrl + shift + t

13.退回到前一個編輯的頁面:alt + left

14.進入到下一個編輯的頁面(針對于上面那條來說的):alt + right

15.光標選中指定的類,查看繼承樹結(jié)構(gòu):ctrl + t

16.復制代碼: ctrl + c

17.撤銷: ctrl + z

18.反撤銷: ctrl + y

19.剪切:ctrl + x

20.粘貼:ctrl + v

21.保存: ctrl + s

22.全選:ctrl + a

23.格式化代碼: ctrl + shift + f

24.選中數(shù)行,整體往后移動:tab

25.選中數(shù)行,整體往前移動:shift + tab

26.在當前類中,顯示類結(jié)構(gòu),并支持搜索指定的方法、屬性等:ctrl + o

27.批量修改指定的變量名、方法名、類名等:alt + shift + r

28.選中的結(jié)構(gòu)的大小寫的切換:變成大寫: ctrl + shift + x

29.選中的結(jié)構(gòu)的大小寫的切換:變成小寫:ctrl + shift + y

30.調(diào)出生成 getter/setter/構(gòu)造器等結(jié)構(gòu): alt + shift + s

31.顯示當前選擇資源(工程 or 文件)的屬性:alt + enter

32.快速查找:參照選中的 Word 快速定位到下一個 :ctrl + k

33.關閉當前窗口:ctrl + w

34.關閉所有的窗口:ctrl + shift + w

35.查看指定的結(jié)構(gòu)使用過的地方:ctrl + alt + g

36.查找與替換:ctrl + f

37.最大化當前的 View:ctrl + m

38.直接定位到當前行的首位:home

39.直接定位到當前行的末位:end

到此這篇關于Java實戰(zhàn)之吃貨聯(lián)盟訂餐系統(tǒng)的文章就介紹到這了,更多相關Java吃貨聯(lián)盟訂餐系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Socket編程簡單示例(聊天服務器)

    Socket編程簡單示例(聊天服務器)

    socket編程是在不同的進程間進行網(wǎng)絡通訊的一種協(xié)議,下面這篇文章主要給大家介紹了關于Socket編程簡單示例的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • MyBatis新增數(shù)據(jù)并返回主鍵值方式

    MyBatis新增數(shù)據(jù)并返回主鍵值方式

    這篇文章主要介紹了MyBatis新增數(shù)據(jù)并返回主鍵值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java多線程處理千萬級數(shù)據(jù)更新操作

    Java多線程處理千萬級數(shù)據(jù)更新操作

    這篇文章主要為大家詳細介紹了Java如何通過多線程處理千萬級數(shù)據(jù)更新操作,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-11-11
  • springboot+mybatis如何屏蔽掉mybatis日志

    springboot+mybatis如何屏蔽掉mybatis日志

    這篇文章主要介紹了springboot+mybatis如何屏蔽掉mybatis日志問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 解決Java & Idea啟動tomcat的中文亂碼問題

    解決Java & Idea啟動tomcat的中文亂碼問題

    這篇文章主要介紹了Java & Idea啟動tomcat的中文亂碼問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 分享java中設置代理的兩種方式

    分享java中設置代理的兩種方式

    有時候我們的程序中要提供可以使用代理訪問網(wǎng)絡,代理的方式包括http、https、ftp、socks代理。比如在IE瀏覽器設置代理,這里簡單介紹下,需要的朋友可以參考下
    2015-12-12
  • 2020年編程選Java的8大理由,JAVA前景如何

    2020年編程選Java的8大理由,JAVA前景如何

    這篇文章主要介紹了2020年編程選Java的8大理由,JAVA前景如何,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • MyBatis-Plus?Page?分頁不生效的問題解決

    MyBatis-Plus?Page?分頁不生效的問題解決

    分頁是常見的一種功能,本文主要介紹了MyBatis-Plus?Page分頁不生效的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • mybatis注解如何實現(xiàn)對象批量更改

    mybatis注解如何實現(xiàn)對象批量更改

    這篇文章主要介紹了mybatis注解實現(xiàn)對象批量更改的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 一文詳解Springboot中filter的原理與注冊

    一文詳解Springboot中filter的原理與注冊

    這篇文章主要為大家詳細介紹了Springboot中filter的原理與注冊的相關知識,文中的示例代碼講解詳細,對我們掌握SpringBoot有一定的幫助,需要的可以參考一下
    2023-02-02

最新評論

桓台县| 隆尧县| 富裕县| 富源县| 北票市| 蚌埠市| 瑞金市| 永丰县| 宿州市| 海城市| 和硕县| 华宁县| 东乡族自治县| 永定县| 远安县| 饶阳县| 三穗县| 革吉县| 麻江县| 延安市| 淅川县| 南和县| 会泽县| 漯河市| 台东市| 盐源县| 寿阳县| 梧州市| 彰化县| 措勤县| 晋城| 娱乐| 普陀区| 黄浦区| 奉贤区| 勃利县| 衡阳县| 秀山| 红安县| 方山县| 凤翔县|