java實現外賣訂餐系統
阿新 • • 發佈:2021-01-21
本文例項為大家分享了java實現外賣訂餐系統的具體程式碼,供大家參考,具體內容如下
一、使用技術
javaSE
二、實現功能
外賣訂餐系統
具體要求如下:
使用選擇結構,迴圈結構,陣列的知識實現一個外賣訂餐系統
三、執行效果圖
1.訂餐功能
2.檢視餐袋
3.簽收訂單
4.刪除訂單
5.點贊
6.退出
分析圖片資訊,可以看出我們需要建立一個選單類,檢視餐帶類和點贊選單類
1.首先我們建立一個選單類,用來定義選單的屬性,使用到封裝,構造方法,和toString方法。
public class Food {//選單 @Override public String toString() { return "Food{" + "num=" + num + ",name='" + name + '\'' + ",price=" + price + '}'; } private int num; private String name; private double price; public Food() { } public Food(int num,String name,double price) { this.num = num; this.name = name; this.price = price; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } }
2.其次,我們在建立一個檢視餐袋類
public class SeeFood {//檢視餐帶 private int num;//序號 private String name;//訂餐人 //private String information;//資訊 private String food;//菜品 private int num1;//份數 private int date;//送餐日期 private String address;//送餐地址 private double money;//金額 private String state;//訂單狀態 @Override public String toString() { return "SeeFood{" + "num=" + num + ",food='" + food + '\'' + ",num1=" + num1 + ",date='" + date + '\'' + ",address='" + address + '\'' + ",money=" + money + ",state='" + state + '\'' + '}'; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getFood() { return food; } public void setFood(String food) { this.food = food; } public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } public int getDate() { return date; } public void setDate(int date) { this.date = date; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } public String getState() { return state; } public void setState(String state) { this.state = state; } public SeeFood() { } public SeeFood(int num,String food,int num1,int date,String address,double money,String state) { this.num = num; this.name = name; this.food = food; this.num1 = num1; this.date = date; this.address = address; this.money = money; this.state = state; } }
3.再建立一個點贊選單類
public class FabulousFood {//點贊選單 private int num;//序號 private String name; private double price; private int numfabulous;//點贊序號 private String fabulous; @Override public String toString() { return "FabulousFood{" + "num=" + num + ",price=" + price +" "+ numfabulous + fabulous + '\'' + '}'; } public FabulousFood() { } public FabulousFood(int num,double price,int numfabulous,String fabulous) { this.num = num; this.name = name; this.price = price; this.numfabulous = numfabulous; this.fabulous = fabulous; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getNumfabulous() { return numfabulous; } public void setNumfabulous(int numfabulous) { this.numfabulous = numfabulous; } public String getFabulous() { return fabulous; } public void setFabulous(String fabulous) { this.fabulous = fabulous; } }
4.建立點餐系統實現其功能,每個功能都使用方法來實現
import java.util.ArrayList; import java.util.Iterator; import java.util.Scanner; public class OrderFood {//點餐 static Scanner sc=new Scanner(System.in); static int date;//送餐時間 static int number=0;//餐帶序號 public static void main(String[] args) { ArrayList<Food> list = new ArrayList<>(); list.add(new Food(1,"紅燒茄子",24)); list.add(new Food(2,"紅燒排骨",36)); list.add(new Food(3,"魚香肉絲",32)); ArrayList<FabulousFood> list2 = new ArrayList<>(); list2.add(new FabulousFood(1,24,"贊")); list2.add(new FabulousFood(2,36,"贊")); list2.add(new FabulousFood(3,32,"贊")); ArrayList<SeeFood> list1 = new ArrayList<>(); System.out.println(" 歡迎使用“外賣點餐系統”"); System.out.println("*******************************"); orderFood(list,list1,list2); } public static void orderFood(ArrayList<Food> list1,ArrayList<SeeFood> list2,ArrayList<FabulousFood> list3){//點餐系統介面 // System.out.println(" 歡迎使用“外賣點餐系統”"); //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("請選擇:"); String num=sc.next(); if (num.equals("1")){ orderingFood(list1,list2,list3); }else if (num.equals("2")){ seeFood(list1,list3); }else if (num.equals("3")){ signFor(list1,list3); }else if (num.equals("4")){ deletFood(list1,list3); }else if (num.equals("5")){ fabulousFood(list1,list3); }else if (num.equals("6")){ System.out.println("謝謝使用,歡迎下次光臨!"); return; }else { System.out.println("輸出錯誤,請重新輸入!"); orderFood(list1,list3); } } public static void fabulousFood(ArrayList<Food> list,ArrayList<FabulousFood> list3){//點贊 System.out.println("******我要點贊******"); System.out.println("序號 菜名 單價"); Iterator<FabulousFood> it = list3.iterator(); while (it.hasNext()){ System.out.println(it.next()); } System.out.println("請選擇您要點讚的菜品序號:"); int num=sc.nextInt(); for (int i = 0; i <list.size() ; i++) { if (num==list.get(i).getNum()){ list3.get(i).setNumfabulous((list3.get(i).getNumfabulous()+1)); } } System.out.println("點贊成功!"); System.out.println("輸入0返回"); int b=sc.nextInt(); if (b==0){ orderFood(list,list3); } } public static void deletFood(ArrayList<Food> list,ArrayList<FabulousFood> list3){//刪除訂單 System.out.println("請輸入要刪除的訂單序號"); int a=sc.nextInt(); for (int i = 0; i <list2.size() ; i++) { if (a==list2.get(i).getNum()){ list2.remove(list2.get(i)); } } System.out.println("刪除訂單成功!"); System.out.println("輸入0返回"); int b=sc.nextInt(); if (b==0){ orderFood(list,list3); } } public static void signFor(ArrayList<Food> list,ArrayList<FabulousFood> list3){//簽收訂單 System.out.println("請輸入要簽收的的訂單序號:"); int sign=sc.nextInt(); for (int i = 0; i <list.size() ; i++) { if (sign==(list.get(i).getNum())){ list2.get(i).setState("已簽收"); } } System.out.println("訂單簽收成功!"); System.out.println("輸入0返回"); int a=sc.nextInt(); if (a==0){ orderFood(list,list3); } } public static void seeFood(ArrayList<Food> list,ArrayList<FabulousFood> list3){//檢視餐帶 System.out.println("******檢視餐帶******"); System.out.println(" 序號 訂餐人 餐品資訊 送餐日期 " + " 送餐地址 總金額 訂單狀態"); Iterator<SeeFood> it = list2.iterator(); while (it.hasNext()){ System.out.println(it.next()); } System.out.println("輸入0返回"); int a=sc.nextInt(); if (a==0){ orderFood(list,list3); } } public static void orderingFood(ArrayList<Food> list1,ArrayList<FabulousFood> list3){//訂餐 System.out.println("我要訂餐"); System.out.println("請輸入訂餐人的姓名:"); String name=sc.next(); System.out.println("序號 菜名 單價"); Iterator<Food> it = list1.iterator(); while (it.hasNext()){ System.out.println(it.next()); } System.out.println("請輸入您要點的菜品編號"); int num=sc.nextInt(); System.out.println("請選擇您需要的份數"); int num1=sc.nextInt(); foodDelilvery(); int num3=date;//送餐時間 System.out.println("請輸入送餐地址"); String address=sc.next(); System.out.println("訂餐成功!"); number++;//餐帶序號 System.out.print("您訂的是:"); String food=list1.get(num-1).getName();//菜品 System.out.println(food+" "+num1+"份"); System.out.println("送餐時間:"+date+"點"); double money=list1.get(num-1).getPrice()*num1;//餐費 System.out.println("餐費:"+money +"元,送餐費6.0元,總計:"+(money+6)+"元"); //姓名,份數,時間,地址,菜品,餐費 list2.add(new SeeFood(number,name,food,num1,num3,address,(money+6),"已預定")); System.out.println("輸入0返回:"); String input=sc.next(); if (input.equals("0")){ orderFood(list1,list3); }else { System.out.println("歡迎下次光臨"); } } static public void foodDelilvery(){//送餐時間 System.out.println("請輸入送餐的時間(送餐時間是10點至20點間整點送餐):"); int num2=sc.nextInt(); date=num2; if (num2<10||num2>20){ System.out.println("不在送餐時間!"); foodDelilvery(); } } }
1.點餐功能
2.檢視餐帶
3.簽收訂單
4.刪除訂單
5.我要點贊
6.退出系統
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。