Java点餐小程序之黑心商人

所属分类: 软件编程 / java 阅读数: 15
收藏 0 赞 0 分享

很久以前,有一个女人,开了一家酒店,她的名字叫孙二娘。下面是她找人做的点餐小程序。代码如下:

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元

这是个黑店!明码标价,但是出来的价格不一样。

以上是本文关于点餐小程序的全部内容。故事是为了提高大家的兴趣,还是要注重对代码的理解。希望对大家有所帮助。

更多精彩内容其他人还在看

Java数据类型的规则

这篇文章主要介绍了Java数据类型的规则的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring整合TimerTask实现定时任务调度

这篇文章主要介绍了Spring整合TimerTask实现定时任务调度的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解SpringMVC使用MultipartFile实现文件的上传

本篇文章主要介绍了SpringMVC使用MultipartFile实现文件的上传,本地的文件上传到资源服务器上,比较好的办法就是通过ftp上传。这里是结合SpringMVC+ftp的形式上传的,有兴趣的可以了解一下。
收藏 0 赞 0 分享

SpringMVC上传文件的三种实现方式

本篇文章主要介绍了SpringMVC上传文件的三种实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

本篇文章主要介绍了微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

浅析Java中的继承与组合

本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

利用反射获取Java类中的静态变量名及变量值的简单实例

下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java启动线程的3种方式对比分析

这篇文章主要为大家对比分析了java启动线程的3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

SpringMVC上传和解析Excel方法

这篇文章主要介绍了SpringMVC上传和解析Excel方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JAVA中String类与StringBuffer类的区别

这篇文章主要为大家详细介绍了JAVA中String类与StringBuffer类的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多