服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java点餐小程序之黑心商人

Java点餐小程序之黑心商人

2021-01-02 22:00liuyh577 Java教程

这篇文章主要介绍了一个Java编程的小程序-点餐系统,算是对之前所学习的Java基础知识作了一个汇总,需要的朋友可以参考下

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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
2
3
4
5
6
7
8
欢迎来到十字坡孙二娘大酒店
本店今日提供:
1.卤肉火烧      10
2.北京烤鸭      200
3.剁鱼头       100
4.炒不烂       20
5.烧茄子       30
数字点菜,ok下单,help显示帮助

明码标价,对吧。但是点餐之后大家会发现:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
欢迎来到十字坡孙二娘大酒店
本店今日提供:
1.卤肉火烧      10
2.北京烤鸭      200
3.剁鱼头       100
4.炒不烂       20
5.烧茄子       30
数字点菜,ok下单,help显示帮助
5
烧茄子已添加
5.烧茄子-----13000
4
炒不烂已添加
5.烧茄子-----13000
4.炒不烂-----2000

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

总结

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

原文链接:http://blog.csdn.net/liuyh577/article/details/69372368

延伸 · 阅读

精彩推荐