本文為大家分享了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
|
public class Fruit { //定義ID private String id; //定義名稱 private String name; //定義價格 private int price; //定義單位 private String unit; //定義數量 private int number; public Fruit(String id, String name, int price, String unit) { super (); this .id = id; this .name = name; this .price = price; this .unit = unit; } public Fruit() { super (); // TODO Auto-generated constructor stub } public String getId() { return id; } public void setId(String id) { this .id = id; } public String getName() { return name; } public void setName(String name) { this .name = name; } public int getPrice() { return price; } public void setPrice( int price) { this .price = price; } public String getUnit() { return unit; } public void setUnit(String unit) { this .unit = unit; } public int getNumber() { return number; } public void setNumber( int number) { this .number = number; } //獲取價格 public int getMoney(){ return price * number; } } |
水果超市的界面
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
|
import java.io.IOException; import java.util.Scanner; public class FruitTest { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); Shopper shopper = new Shopper(); Manager manager = new Manager(); while ( true ){ System.out.println( " 歡迎光臨水果系統" ); System.out.println( "請輸入你的角色:(1.顧客 2.管理員 3.退出)" ); int choice = sc.nextInt(); switch (choice){ case 1 : //顧客 shopper.shop(); break ; case 2 : //管理員 manager.manager(); break ; case 3 : System.exit( 0 ); default : System.out.println( "你的輸入有誤!" ); } } } } |
顧客類
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
|
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; public class Shopper { public void shop() throws IOException { Scanner sc = new Scanner(System.in); ArrayList<Fruit> list = new ArrayList<Fruit>(); check(list); while ( true ) { System.out .println( " 歡迎光臨水果系統" ); System.out .println( "請輸入你的操作:(1.查看水果 2.購買水果 3.結賬 4.退出)" ); int choice = sc.nextInt(); switch (choice) { case 1 : // 查看水果 print(list); break ; case 2 : // 購買水果 buy(list); break ; case 3 : // 結賬 checkOut(list); break ; case 4 : // 退出 return ; default : System.out.println( "你輸入的操作有誤!" ); } } } //結賬 private void checkOut(ArrayList<Fruit> list) { int sum = 0 ; for ( int i = 0 ; i < list.size(); i++) { Fruit f = list.get(i); sum += f.getMoney(); } if (sum> 200 ){ int newSum = ( int ) (sum * 0.9 ); System.out.println( "金額:" + sum+ "元, 優惠價格:" + newSum+ "元" ); } else { System.out.println( "金額:" + sum+ "元" ); } //結完賬后,將數量清0 for ( int i = 0 ; i < list.size(); i++) { Fruit f = list.get(i); f.setNumber( 0 ); } } // 購買水果 public void buy(ArrayList<Fruit> list) throws IOException { Scanner sc1 = new Scanner(System.in); Scanner sc2 = new Scanner(System.in); print(list); while ( true ) { System.out.println( "購買超過200元,享受九折優惠!" ); System.out.println( "請輸入想要購買的水果的ID:(如果不想購買,請輸入-1退出)" ); String id = sc1.nextLine(); if ( "-1" .equals(id)) { System.out.println( "購買已結束,請去結賬 " ); return ; } else { boolean flag = false ; for ( int i = 0 ; i < list.size(); i++) { Fruit f = list.get(i); if (f.getId().equals(id)) { System.out.println( "請輸入購買" + f.getName() + "數量: " ); int num = sc2.nextInt(); f.setNumber(num); flag = true ; } } if (!flag){ System.out.println( "你輸入的水果ID不正確,請重新輸入" ); } } } } // 查看水果 public void check(ArrayList<Fruit> list) throws IOException { BufferedReader br = new BufferedReader( new FileReader( "fruit.txt" )); String line; while ((line = br.readLine()) != null ) { String[] str = line.split( " " ); Fruit f = new Fruit(str[ 0 ], str[ 1 ], Integer.parseInt(str[ 2 ]), str[ 3 ]); list.add(f); } br.close(); } public void print(ArrayList<Fruit> list) { System.out.println( "ID\t水果\t價格\t單位" ); for ( int i = 0 ; i < list.size(); i++) { Fruit f = list.get(i); System.out.println(f.getId() + "\t" + f.getName() + "\t" + f.getPrice() + "\t" + f.getUnit()); } } } |
管理員類
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; public class Manager { public void manager() throws IOException { if (load()) { Scanner sc = new Scanner(System.in); while ( true ) { ArrayList<Fruit> list = new ArrayList<Fruit>(); check(list); System.out .println( "請輸入您的操作: (1.查看水果種類 2.增加水果種類 3.修改水果種類 4.刪除水果種類 5退出)" ); int choice = sc.nextInt(); switch (choice) { case 1 : // 查看水果種類 print(list); break ; case 2 : // 增加水果種類 addFruit(list); break ; case 3 : // 修改水果種類 reverse(list); break ; case 4 : // 刪除水果種類 remove(list); break ; case 5 : // 退出 return ; default : System.out.println( "你輸入的操作有誤!" ); break ; } } } else { return ; } } public void remove(ArrayList<Fruit> list) throws IOException { Scanner sc = new Scanner(System.in); print(list); System.out.println( "請輸入要刪除的水果ID: " ); String id = sc.nextLine(); for ( int i = 0 ; i < list.size(); i++) { Fruit f = list.get(i); if (f.getId().equals(id)){ list.remove(i); write(list); System.out.println( "刪除成功" ); return ; } } System.out.println( "找不到要刪除的水果ID!" ); } //修改水果 public void reverse(ArrayList<Fruit> list) throws IOException { Scanner sc1 = new Scanner(System.in); Scanner sc2 = new Scanner(System.in); print(list); System.out.println( "請輸入要修改的水果ID: " ); String id = sc1.nextLine(); for ( int i = 0 ; i < list.size(); i++) { Fruit f = list.get(i); if (f.getId().equals(id)){ System.out.println( "請輸入水果的名稱: " ); String name = sc1.nextLine(); System.out.println( "請輸入水果的價格: " ); int price = sc2.nextInt(); System.out.println( "請輸入水果的單位: " ); String unit = sc1.nextLine(); f.setName(name); f.setPrice(price); f.setUnit(unit); write(list); System.out.println( "修改成功" ); return ; } } System.out.println( "找不到要修改的水果ID!" ); } //增加水果 public void addFruit(ArrayList<Fruit> list) throws IOException { Scanner sc1 = new Scanner(System.in); Scanner sc2 = new Scanner(System.in); print(list); System.out.println( "請輸入要增加水果的ID: " ); String id = sc1.nextLine(); for ( int i = 0 ; i < list.size(); i++) { Fruit f = list.get(i); if (f.getId().equals(id)){ System.out.println( "水果ID名重復!" ); return ; } } System.out.println( "請輸入水果的名字: " ); String name = sc1.nextLine(); System.out.println( "請輸入水果的價格: " ); int price = sc2.nextInt(); System.out.println( "請輸入水果的單位: " ); String unit = sc1.nextLine(); Fruit f = new Fruit(id, name, price, unit); list.add(f); write(list); System.out.println( "增加成功" ); } //寫入新加的種類 private void write(ArrayList<Fruit> list) throws IOException { BufferedWriter bw = new BufferedWriter( new FileWriter( "fruit.txt" )); for ( int i = 0 ; i < list.size(); i++) { Fruit f = list.get(i); bw.write(f.getId()+ " " + f.getName() + " " + f.getPrice() + " " + f.getUnit()); bw.newLine(); } bw.close(); } public void print(ArrayList<Fruit> list) { System.out.println( "ID\t水果\t價格\t單位" ); for ( int i = 0 ; i < list.size(); i++) { Fruit f = list.get(i); System.out.println(f.getId() + "\t" + f.getName() + "\t" + f.getPrice() + "\t" + f.getUnit()); } } // 查看水果 public void check(ArrayList<Fruit> list) throws IOException { BufferedReader br = new BufferedReader( new FileReader( "fruit.txt" )); String line; while ((line = br.readLine()) != null ) { String[] str = line.split( " " ); Fruit f = new Fruit(str[ 0 ], str[ 1 ], Integer.parseInt(str[ 2 ]), str[ 3 ]); list.add(f); } br.close(); } // 登陸系統 public boolean load() throws FileNotFoundException, IOException { Scanner sc = new Scanner(System.in); System.out.println( "請輸入用戶名: " ); String username = sc.nextLine(); System.out.println( "請輸入密碼: " ); String password = sc.nextLine(); BufferedReader br = new BufferedReader( new FileReader( "admin.txt" )); String line = br.readLine(); String[] str = line.split( "," ); if (str[ 0 ].equals(username) && str[ 1 ].equals(password)) { System.out.println( "歡迎您進入水果管理系統: " + username); return true ; } else { System.out.println( "你的用戶名或密碼輸入不正確,無法進入管理系統" ); return false ; } } } |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://blog.csdn.net/scropio0zry/article/details/78440253