您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)使用Java模擬一個(gè)吃貨聯(lián)盟訂餐系統(tǒng),小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Java的基本數(shù)據(jù)類型分為:1、整數(shù)類型,用來表示整數(shù)的數(shù)據(jù)類型。2、浮點(diǎn)類型,用來表示小數(shù)的數(shù)據(jù)類型。3、字符類型,字符類型的關(guān)鍵字是“char”。4、布爾類型,是表示邏輯值的基本數(shù)據(jù)類型。
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]; //送餐時(shí)間 String[] addresses = new String[4]; //送餐地址 int[] states = new int[4]; //訂單狀態(tài):0 已預(yù)購 1 已完成 double[] sumPrices = new double[4]; //總金額 //初始化兩個(gè)訂單信息 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 = {"紅燒帶魚","魚香肉絲","時(shí)令蔬菜"}; //菜品單價(jià) 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; //標(biāo)記用戶是否提出系統(tǒng) true:退出系統(tǒng) boolean isExit = false; System.out.println("\n歡迎使用吃貨聯(lián)盟系統(tǒng)"); //循環(huán):顯示菜單,根據(jù)用戶選擇,執(zhí)行響應(yīng)功能 do { //顯示菜單 System.out.println("*******************"); System.out.println("1:我要訂餐"); System.out.println("2:查看餐袋"); System.out.println("3:簽收訂單"); System.out.println("4:刪除訂單"); System.out.println("5:我要點(diǎn)贊"); System.out.println("6:退出系統(tǒng)"); System.out.println("*******************"); System.out.println("請(qǐng)選擇:"); //記錄客戶選擇功能的編號(hào) int choose = input.nextInt(); //記錄用戶選擇的功能編號(hào) boolean isAdd = false; //找到要簽收的訂單 boolean isSignFind = false; //找到要?jiǎng)h除的訂單 boolean isDelFind = false; //根據(jù)用戶選擇的功能編號(hào)執(zhí)行響應(yīng)功能 switch (choose) { case 1: //我要訂餐 System.out.println("*********我要訂餐*********"); //循環(huán)展示菜單 for (int j = 0; j <names.length; j++) { //找到第一個(gè)空位置,可以添加訂單信息 if(names[j]==null) { //標(biāo)記位置,可以訂餐 isAdd =true; System.out.println("請(qǐng)輸入訂餐人的姓名:"); String name = input.next(); //顯示供選擇的菜品信息 System.out.println("序號(hào)"+"\t"+"菜名"+"\t"+"單價(jià)"); 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); } //用戶點(diǎn)菜 System.out.println("請(qǐng)選擇您要點(diǎn)的菜品編號(hào):"); int chooseDish = input.nextInt(); System.out.println("請(qǐng)選擇您需要的份數(shù):"); int number = input.nextInt(); String dishMeg = dishNames[chooseDish-1]+""+number+"份"; double sumPrice = prices[chooseDish-1]*number; //餐費(fèi)滿50元,免送餐費(fèi)10元 double deliCharge =(sumPrice>=50)?0:6; System.out.println("請(qǐng)輸入送餐時(shí)間(送餐時(shí)間是10點(diǎn)至20點(diǎn)間整點(diǎn)送餐:)"); int time = input.nextInt(); while (time<10||time>20) { System.out.println("您輸入有誤,請(qǐng)輸入10~20間的整數(shù)!"); time = input.nextInt(); } System.out.println("請(qǐng)輸入送餐地址:"); String address =input.next(); //無需添加狀態(tài),默認(rèn)是0,即已預(yù)訂狀態(tài). System.out.println("訂餐成功!"); System.out.println("您訂的是:"+dishMeg); System.out.println("送餐時(shí)間是:"+time+"點(diǎn)"); System.out.println("餐費(fèi):"+sumPrice+"元,送餐費(fèi)"+deliCharge+"元,總計(jì):"+(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("對(duì)不起,您的餐袋已滿!"); } break; case 2: //查看餐袋 System.out.println("*********查看餐袋**********"); System.out.println("序號(hào)\t訂餐人\t餐品信息\t\t送餐時(shí)間\t\t總金額\t訂單狀態(tài)"); for (int i = 0; i < names.length; i++) { //查看餐袋中的內(nèi)容,如果是空就跳出,不在查看 if (names[i]==null) { String state = (states[i]==0)?"已預(yù)定":"已完成"; 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("請(qǐng)選擇要簽收的訂單序號(hào):"); int signOrder = input.nextInt(); for (int i = 0; i < names.length; i++) { //狀態(tài)為已預(yù)定,序號(hào)為用戶輸入的訂單序號(hào):可簽收 //狀態(tài)為已完成,序號(hào)為用戶輸入訂單序號(hào):不可簽收 if (names[i]!=null&&states[i]==1&&signOrder==i+1) { System.out.println("您選擇的訂單已完成簽收,不能再次簽收"); isSignFind = true; } } //未找到的訂單序號(hào):不可簽收 if (!isSignFind) { System.out.println("您選擇的訂單不存在!"); } break; case 4: //刪除訂單 System.out.println("*********刪除訂單**********"); System.out.println("請(qǐng)輸入要?jiǎng)h除的訂單序號(hào):"); int delId = input.nextInt(); for (int i = 0; i < names.length; i++) { //狀態(tài)值為已完成 選侯志為用戶輸入的序號(hào):可刪除 //狀態(tài)值為已預(yù)定 序號(hào)值為用戶輸入的序號(hào):不可刪除 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; } } //未找到該序號(hào)的訂單,不能刪除 if (isDelFind) { System.out.println("您要?jiǎng)h除的訂單不存在!"); } break; case 5: //我要點(diǎn)贊 System.out.println("*********我要點(diǎn)贊**********"); //顯示菜品信息 System.out.println("序號(hào)"+"\t"+"菜名"+"\t"+"單價(jià)"); 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("請(qǐng)選擇您要點(diǎn)贊的菜品序號(hào):"); int praiseNum = input.nextInt(); praiseNums[praiseNum-1]++; //點(diǎn)贊數(shù)+1 System.out.println("點(diǎn)贊成功"); 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("感謝使用,歡迎下次光臨"); } }
1.補(bǔ)全代碼的聲明:alt + /
2.快速修復(fù): ctrl + 1
3.批量導(dǎo)包:ctrl + shift + o
4.使用單行注釋:ctrl + /
5.使用多行注釋: ctrl + shift + /
6.取消多行注釋:ctrl + shift + \
7.復(fù)制指定行的代碼:ctrl + alt + down 或 ctrl + alt + up
8.刪除指定行的代碼:ctrl + d
9.上下移動(dòng)代碼:alt + up 或 alt + down
10.切換到下一行代碼空位:shift + enter
11.切換到上一行代碼空位:ctrl + shift + enter
12.如何查看源碼:ctrl + 選中指定的結(jié)構(gòu) 或 ctrl + shift + t
13.退回到前一個(gè)編輯的頁面:alt + left
14.進(jìn)入到下一個(gè)編輯的頁面(針對(duì)于上面那條來說的):alt + right
15.光標(biāo)選中指定的類,查看繼承樹結(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ù)行,整體往后移動(dòng):tab
25.選中數(shù)行,整體往前移動(dòng):shift + tab
26.在當(dāng)前類中,顯示類結(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.顯示當(dāng)前選擇資源(工程 or 文件)的屬性:alt + enter
32.快速查找:參照選中的 Word 快速定位到下一個(gè) :ctrl + k
33.關(guān)閉當(dāng)前窗口:ctrl + w
34.關(guān)閉所有的窗口:ctrl + shift + w
35.查看指定的結(jié)構(gòu)使用過的地方:ctrl + alt + g
36.查找與替換:ctrl + f
37.最大化當(dāng)前的 View:ctrl + m
38.直接定位到當(dāng)前行的首位:home
39.直接定位到當(dāng)前行的末位:end
以上就是使用Java模擬一個(gè)吃貨聯(lián)盟訂餐系統(tǒng),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。