Java點餐小程序之黑心商人
很久以前,有一個女人,開了一家酒店,她的名字叫孫二娘。下面是她找人做的點餐小程序。代碼如下:
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Set;
public class MyDianCai {
static HashMap<String, String> hs = new HashMap<>();
static List<Map> list = new ArrayList<>();
static int sum = 0;
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("歡迎來到十字坡孫二娘大酒店");
list();
while (true) {
String in = s.nextLine();
String[] remove = in.split("[0-9]");
if (Character.isDigit(in.charAt(0))) {
dianCai(in);
} else if (in.equals("ok")) {
ok();
} else if (in.equals("sum")) {
sum();
} else if (in.equals("order")) {
order();
} else if (remove[0].equals("-")) {
String[] removes = in.split("-");
remove(removes[1]);
} else if (in.equals("list")) {
list();
} else if (in.equals("help")) {
help();
} else if (in.equals("exit")) {
break;
}
}
System.out.println("退出系統(tǒng)");
}
public static void list() {
System.out.println("本店今日提供:");
System.out.println("1.鹵肉火燒 \t10元");
System.out.println("2.北京烤鴨 \t200元");
System.out.println("3.剁魚頭 \t100元");
System.out.println("4.炒不爛 \t20元");
System.out.println("5.燒茄子 \t30元");
System.out.println("數(shù)字點菜,ok下單,help顯示幫助");
}
public static void dianCai(String name) {
switch (name) {
case "1":
hs.put("1.鹵肉火燒", "1000元");
System.out.println("鹵肉火燒已添加");
break;
case "2":
hs.put("2.北京烤鴨", "20000元");
System.out.println("北京烤鴨已添加");
break;
case "3":
hs.put("3.剁魚頭", "10000元");
System.out.println("剁魚頭已添加");
break;
case "4":
hs.put("4.炒不爛", "2000元");
System.out.println("炒不爛已添加");
break;
case "5":
hs.put("5.燒茄子", "13000元");
System.out.println("燒茄子已添加");
break;
}
Set<String> set = hs.keySet();
for (String key : set) {
String values = hs.get(key);
System.out.println(key + "-----" + values);
}
}
public static void ok() {
list.add(hs);
hs = new HashMap<>();
System.out.println("下單成功,客觀先坐,菜稍后就到!下一位!");
}
public static void order() {
Set<String> set = hs.keySet();
for (String key : set) {
String values = hs.get(key);
System.out.println(key + "-----" + values);
}
}
public static void remove(String removes) {
switch (removes) {
case "1":
hs.remove("1.鹵肉火燒");
break;
case "2":
hs.remove("2.北京烤鴨");
break;
case "3":
hs.remove("3.剁魚頭");
break;
case "4":
hs.remove("4.炒不爛");
break;
case "5":
hs.remove("5.燒茄子");
break;
}
Set<String> set = hs.keySet();
for (String key : set) {
String values = hs.get(key);
System.out.println(key + "------" + values);
}
}
public static void sum() {
for (Map m : list) {
Set<String> set = m.keySet();
for (String key : set) {
String values = (String) m.get(key);
String[] prices = values.split("元");
int price = Integer.parseInt(prices[0]);// 將字符串轉(zhuǎn)類型換為int型
sum += price;
}
}
System.out.println("今天收入"+sum+"元");
}
public static void help() {
System.out.println("list\t-列菜單");
System.out.println("數(shù)字\t-點菜");
System.out.println("-數(shù)字\t-移除已點的菜");
System.out.println("ok\t-結(jié)束點菜并生成訂單,然后下單");
System.out.println("order\t-查看已點的菜");
System.out.println("sum\t-統(tǒng)計銷售額");
System.out.println("exit\t-退出");
System.out.println("help\t-打印幫助信息");
}
}
輸出結(jié)果如下:
歡迎來到十字坡孫二娘大酒店 本店今日提供: 1.鹵肉火燒 10元 2.北京烤鴨 200元 3.剁魚頭 100元 4.炒不爛 20元 5.燒茄子 30元 數(shù)字點菜,ok下單,help顯示幫助
明碼標(biāo)價,對吧。但是點餐之后大家會發(fā)現(xiàn):
歡迎來到十字坡孫二娘大酒店 本店今日提供: 1.鹵肉火燒 10元 2.北京烤鴨 200元 3.剁魚頭 100元 4.炒不爛 20元 5.燒茄子 30元 數(shù)字點菜,ok下單,help顯示幫助 5 燒茄子已添加 5.燒茄子-----13000元 4 炒不爛已添加 5.燒茄子-----13000元 4.炒不爛-----2000元
這是個黑店!明碼標(biāo)價,但是出來的價格不一樣。
總結(jié)
以上是本文關(guān)于點餐小程序的全部內(nèi)容。故事是為了提高大家的興趣,還是要注重對代碼的理解。希望對大家有所幫助。
相關(guān)文章
Spring 應(yīng)用中集成 Apache Shiro的方法
這篇文章主要介紹了Spring 應(yīng)用中集成 Apache Shiro的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
詳解mybatis foreach collection示例
這篇文章主要介紹了詳解mybatis foreach collection的相關(guān)資料,需要的朋友可以參考下2017-10-10
Java @PostMapping和@GetMapping方法使用詳解
這篇文章主要介紹了Java @PostMapping和@GetMapping方法使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-03-03
Java中Integer.valueOf,parsetInt() String.valueOf的區(qū)別和結(jié)果代碼解析
本文通過代碼給大家講解了JAVA中Integer.valueOf, parsetInt() String.valueOf的區(qū)別和結(jié)果,需要的朋友可以參考下2018-05-05
Spring MVC獲取HTTP請求頭的兩種方式小結(jié)
這篇文章主要介紹了Spring MVC獲取HTTP請求頭的兩種方式小結(jié),幫助大家更好的理解和使用Spring MVC,感興趣的朋友可以了解下2021-01-01

