实现一个用集合做的可以增删改查的简单管理系统
思路:
1.先定义一个 FruitItem 类,在类中定义商品号、商品名字、单价等属性。
2.定义一个shop类,在里面把增删改查和菜单方法。
3.在主方法中把菜单方法死循环调用,用判断语句判断输入选项从而实现对应的方法,按退出选项时退出死循环。
public class FruitItem {
// 商品号
int ID;
// 商品名字
String name;
// 单价
double price;
// 数量
int number;
// 总金额
double money;
}
/*系统主类
实现
1.商品数据的初始化
2.用户的菜单选择
3.根据不同选择执行的功能
3.1 Read 查看商品
3.2 Create 增加商品
3.3 Update 修改商品
3.4 Delete 删除商品*/
public class shop {
public static void main(String[] args) {
ArrayList<FruitItem> arry = new ArrayList<FruitItem>();
// 调用初始化数据方法
init(arry);
while (true) {
// 调用菜单方法
mainMeum();
// 调用用户选择方法
int choose = chooseFunction();
switch (choose) {
case 1:
// 查询商品
showFruitList(arry);
break;
case 2:
// 添加商品
addFruitList(arry);
break;
case 3:
// 删除货物
deleteFruitList(arry);
break;
case 4:
// 修改货物
updateFruitList(arry);
break;
case 5:
System.out.println("欢迎下次光临");
return;
default:
System.out.println("输入序号有误");
break;
}
}
}
// 接收用户选项方法
public static int chooseFunction() {
Scanner sc = new Scanner(System.in);
return sc.nextInt();
}
// 修改商品方法
public static void updateFruitList(ArrayList<FruitItem> arry) {
System.out.println("你选择的是修改功能");
System.out.println("请输入修改的商品编号");
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
for (int i = 0; i < arry.size(); i++) {
FruitItem item = arry.get(i);
if (item.ID == ID) {
System.out.println("输入新的商品编号");
item.ID = sc.nextInt();
System.out.println("输入新的商品名称");
item.name = sc.next();
System.out.println("输入新的商品价格");
item.price = sc.nextDouble();
System.out.println("修改成功");
return;
}
}
System.out.println("找不到该编号");
}
// 删除商品方法
public static void deleteFruitList(ArrayList<FruitItem> arry) {
System.out.println("你选择的是删除功能");
System.out.println("请输入删除的商品编号");
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
for (int i = 0; i < arry.size(); i++) {
FruitItem item = arry.get(i);
if (item.ID == ID) {
arry.remove(i);
System.out.println("删除成功");
return;
}
System.out.println("没有该商品");
}
}
// 添加商品方法
public static void addFruitList(ArrayList<FruitItem> arry) {
System.out.println("你选择的是添加功能");
System.out.println("请输入添加的商品编号");
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
System.out.println("请输入添加的商品名字");
String name = sc.next();
System.out.println("请输入添加的商品价钱");
double price = sc.nextDouble();
FruitItem fi = new FruitItem();
fi.ID = ID;
fi.name = name;
fi.price = price;
arry.add(fi);
}
// 查询商品方法
public static void showFruitList(ArrayList<FruitItem> arry) {
System.out.println();
System.out.println("----------商品库存清单------------");
System.out.println("商品编号 商品名称 商品价格");
// 遍历集合
for (FruitItem item : arry) {
System.out.println(item.ID + " " + item.name + " " + item.price);
}
// for (int i = 0; i < arry.size(); i++) {
// FruitItem item = arry.get(i);
// System.out.println(item.ID + " " + item.name + " " + item.price);
// }
}
// 主菜单方法
public static void mainMeum() {
System.out.println();
System.out.println("===========欢迎光临 Supermarket===========");
System.out.println("功能: 1.货物清单 2.添加货物 3.删除货物 4.修改货物 5.Exit");
System.out.println("请输入选项");
}
// 初始化数据方法
public static void init(ArrayList<FruitItem> arry) {
FruitItem f1 = new FruitItem();
f1.ID = 1000;
f1.name = "炸鸡";
f1.price = 10.8;
FruitItem f2 = new FruitItem();
f2.ID = 1001;
f2.name = "汉堡";
f2.price = 18.8;
FruitItem f3 = new FruitItem();
f3.ID = 1003;
f3.name = "薯条";
f3.price = 11.8;
// 将初始商品加入List
arry.add(f1);
arry.add(f2);
arry.add(f3);
}
}