您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關使用Java模擬一個吃貨聯盟訂餐系統,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Java的基本數據類型分為:1、整數類型,用來表示整數的數據類型。2、浮點類型,用來表示小數的數據類型。3、字符類型,字符類型的關鍵字是“char”。4、布爾類型,是表示邏輯值的基本數據類型。
public class OrderingMsg { public static void main(String[] args) { //初始化數據 //數據主體:一組訂單信息 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]; //訂單狀態: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返回主菜單,否則退出系統 int num = -1; //標記用戶是否提出系統 true:退出系統 boolean isExit = false; System.out.println("\n歡迎使用吃貨聯盟系統"); //循環:顯示菜單,根據用戶選擇,執行響應功能 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.println("*******************"); System.out.println("請選擇:"); //記錄客戶選擇功能的編號 int choose = input.nextInt(); //記錄用戶選擇的功能編號 boolean isAdd = false; //找到要簽收的訂單 boolean isSignFind = false; //找到要刪除的訂單 boolean isDelFind = false; //根據用戶選擇的功能編號執行響應功能 switch (choose) { case 1: //我要訂餐 System.out.println("*********我要訂餐*********"); //循環展示菜單 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("請選擇您需要的份數:"); 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間的整數!"); time = input.nextInt(); } System.out.println("請輸入送餐地址:"); String address =input.next(); //無需添加狀態,默認是0,即已預訂狀態. System.out.println("訂餐成功!"); System.out.println("您訂的是:"+dishMeg); System.out.println("送餐時間是:"+time+"點"); System.out.println("餐費:"+sumPrice+"元,送餐費"+deliCharge+"元,總計:"+(sumPrice+deliCharge)+"元"); //添加數據 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訂單狀態"); for (int i = 0; i < names.length; 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++) { //狀態為已預定,序號為用戶輸入的訂單序號:可簽收 //狀態為已完成,序號為用戶輸入訂單序號:不可簽收 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++) { //狀態值為已完成 選侯志為用戶輸入的序號:可刪除 //狀態值為已預定 序號值為用戶輸入的序號:不可刪除 if (names[i]!=null&&states[i]==1&&delId==i+1) { isDelFind = true; //執行刪除操作:刪除位置后的元素依次前移 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]++; //點贊數+1 System.out.println("點贊成功"); break; case 6: //退出系統 isExit = true; break; default: //退出系統 isExit = true; break; } if (isExit) { System.out.println("返回0輸出:"); num = input.nextInt(); }else { break; } }while (num==0); System.out.println("感謝使用,歡迎下次光臨"); } }
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 + 選中指定的結構 或 ctrl + shift + t
13.退回到前一個編輯的頁面:alt + left
14.進入到下一個編輯的頁面(針對于上面那條來說的):alt + right
15.光標選中指定的類,查看繼承樹結構: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.選中數行,整體往后移動:tab
25.選中數行,整體往前移動:shift + tab
26.在當前類中,顯示類結構,并支持搜索指定的方法、屬性等:ctrl + o
27.批量修改指定的變量名、方法名、類名等:alt + shift + r
28.選中的結構的大小寫的切換:變成大寫: ctrl + shift + x
29.選中的結構的大小寫的切換:變成小寫:ctrl + shift + y
30.調出生成 getter/setter/構造器等結構: alt + shift + s
31.顯示當前選擇資源(工程 or 文件)的屬性:alt + enter
32.快速查找:參照選中的 Word 快速定位到下一個 :ctrl + k
33.關閉當前窗口:ctrl + w
34.關閉所有的窗口:ctrl + shift + w
35.查看指定的結構使用過的地方:ctrl + alt + g
36.查找與替換:ctrl + f
37.最大化當前的 View:ctrl + m
38.直接定位到當前行的首位:home
39.直接定位到當前行的末位:end
以上就是使用Java模擬一個吃貨聯盟訂餐系統,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。