溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用Java模擬一個(gè)吃貨聯(lián)盟訂餐系統(tǒng)

發(fā)布時(shí)間:2021-04-29 16:06:00 來源:億速云 閱讀:125 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)使用Java模擬一個(gè)吃貨聯(lián)盟訂餐系統(tǒng),小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

java基本數(shù)據(jù)類型有哪些

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("感謝使用,歡迎下次光臨");
   }
}

四、有關(guān)eclipse的快捷鍵

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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI