Java点餐小程序之黑心商人
作者:liuyh577
这篇文章主要介绍了一个Java编程的小程序-点餐系统,算是对之前所学习的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("退出系统"); } 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("数字点菜,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]);// 将字符串转类型换为int型 sum += price; } } System.out.println("今天收入"+sum+"元"); } public static void help() { System.out.println("list\t-列菜单"); System.out.println("数字\t-点菜"); System.out.println("-数字\t-移除已点的菜"); System.out.println("ok\t-结束点菜并生成订单,然后下单"); System.out.println("order\t-查看已点的菜"); System.out.println("sum\t-统计销售额"); System.out.println("exit\t-退出"); System.out.println("help\t-打印帮助信息"); } }
输出结果如下:
欢迎来到十字坡孙二娘大酒店 本店今日提供: 1.卤肉火烧 10元 2.北京烤鸭 200元 3.剁鱼头 100元 4.炒不烂 20元 5.烧茄子 30元 数字点菜,ok下单,help显示帮助
明码标价,对吧。但是点餐之后大家会发现:
欢迎来到十字坡孙二娘大酒店 本店今日提供: 1.卤肉火烧 10元 2.北京烤鸭 200元 3.剁鱼头 100元 4.炒不烂 20元 5.烧茄子 30元 数字点菜,ok下单,help显示帮助 5 烧茄子已添加 5.烧茄子-----13000元 4 炒不烂已添加 5.烧茄子-----13000元 4.炒不烂-----2000元
这是个黑店!明码标价,但是出来的价格不一样。
总结
以上是本文关于点餐小程序的全部内容。故事是为了提高大家的兴趣,还是要注重对代码的理解。希望对大家有所帮助。