Java点餐小程序之黑心商人
程序员文章站
2024-02-27 19:26:39
很久以前,有一个女人,开了一家酒店,她的名字叫孙二娘。下面是她找人做的点餐小程序。代码如下:
import java.util.hashmap;
import...
很久以前,有一个女人,开了一家酒店,她的名字叫孙二娘。下面是她找人做的点餐小程序。代码如下:
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元
这是个黑店!明码标价,但是出来的价格不一样。
总结
以上是本文关于点餐小程序的全部内容。故事是为了提高大家的兴趣,还是要注重对代码的理解。希望对大家有所帮助。