java实现水果超市管理系统

时间:2022-09-08 10:38:53

本文为大家分享了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