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顯示幫助
明碼標價,對吧。但是點餐之后大家會發(fā)現(xiàn):
歡迎來到十字坡孫二娘大酒店 本店今日提供: 1.鹵肉火燒 10元 2.北京烤鴨 200元 3.剁魚頭 100元 4.炒不爛 20元 5.燒茄子 30元 數(shù)字點菜,ok下單,help顯示幫助 5 燒茄子已添加 5.燒茄子-----13000元 4 炒不爛已添加 5.燒茄子-----13000元 4.炒不爛-----2000元
這是個黑店!明碼標價,但是出來的價格不一樣。
總結(jié)
以上是本文關(guān)于點餐小程序的全部內(nèi)容。故事是為了提高大家的興趣,還是要注重對代碼的理解。希望對大家有所幫助。
相關(guān)文章
SpringBoot使用Quartz無法注入Bean的問題及解決
這篇文章主要介紹了SpringBoot使用Quartz無法注入Bean的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11springboot項目啟動自動跳轉(zhuǎn)到瀏覽器的操作代碼
這篇文章主要介紹了springboot項目啟動自動跳轉(zhuǎn)到瀏覽器的操作代碼,本文圖文實例代碼相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下2024-03-03基于線程的wait和notify使用,生產(chǎn)消費案例
這篇文章主要介紹了基于線程的wait和notify使用,生產(chǎn)消費案例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08Java實現(xiàn)的Excel列號數(shù)字與字母互相轉(zhuǎn)換功能
這篇文章主要介紹了Java實現(xiàn)的Excel列號數(shù)字與字母互相轉(zhuǎn)換功能,涉及java針對Excel相關(guān)數(shù)值與字符串操作技巧,需要的朋友可以參考下2018-03-03Spring?MVC異步上傳、跨服務(wù)器上傳和文件下載功能實現(xiàn)
這篇文章主要介紹了Spring?MVC異步上傳、跨服務(wù)器上傳和文件下載功能實現(xiàn),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07詳解使用Spring AOP和自定義注解進行參數(shù)檢查
本篇文章主要介紹了詳解使用Spring AOP和自定義注解進行參數(shù)檢查,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04