java ArrayList习题:超市库存管理系统案例
ArrayList其实是一个动态数组,能够在存储空间不够时自动增加长度(list.size)。而数组在运行期间长度就不可更改,所以在使用上ArrayList会更加灵活。
package ch12;
import java.util.ArrayList;
import java.util.Scanner;
public class Shopping {// 主类
static ArrayList<Storage> list = new ArrayList<>();
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {// 调用
add();
while (true) {
choose();
}
}
public static void choose() {
System.out.println("欢迎光临永辉超市");
System.out.println("请选择要操作的功能序号:");
System.out.println("1.货物清单 2.添加新货物 3.删除货物 4.修改货物 5.退出系统");
Scanner sc = new Scanner(System.in);
int numchoose = sc.nextInt();
switch (numchoose) {
case 1:
System.out.println("货物清单");
System.out.println("===========================商品库存清单============================");
System.out.println("\t商品编号\t\t商品名称\t\t商品单价");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
break;
case 2:
System.out.println("添加新货物");
System.out.println("请输入新货物编号");
int newGoodsNum = sc.nextInt();
System.out.println("请输入新货物名称");
String newGoodsName = sc.next();
System.out.println("请输入新货物单价");
double newGoodsPrice = sc.nextDouble();
System.out.println("添加货物成功");
Storage storage = new Storage(newGoodsNum, newGoodsName, newGoodsPrice);
list.add(storage);
break;
case 3:
System.out.println("删除货物");
System.out.println("请输入要删除货物编号");
int GoodsNum1 = sc.nextInt();
for (int j = 0; j < list.size(); j++) {
if (GoodsNum1 == list.get(j).getNumber()) {
list.remove(j);
}
}
System.out.println("已删除编号" + GoodsNum1 + "的货物");
break;
case 4:
System.out.println("编辑货物信息");
System.out.println("请输入要编辑的货物编号");
int GoodsNum2 = sc.nextInt();
for (int k = 0; k < list.size(); k++) {
Storage storage1 = list.get(k);
if (GoodsNum2 == storage1.getNumber()) {
System.out.println("请输入编辑编号");
int numNew = sc.nextInt();
storage1.setNumber(numNew);
System.out.println("请输入编辑名称");
String nameNew = sc.next();
storage1.setName(nameNew);
System.out.println("请输入编辑价格");
double priceNew = sc.nextDouble();
storage1.setPrice(priceNew);
list.set(k, storage1);
}
}
break;
case 5:
System.out.println("退出系统");
System.exit(0);
break;
default:
System.out.println("没有该选项");
}
}
public static void add() {// 添加货物
list.add(new Storage(1001, "name1", 54));
list.add(new Storage(1002, "name2", 59));
list.add(new Storage(1003, "name3", 57));
}
}
package ch12;
public class Storage {
private int number;//编号
private String name;//商品名称
private double price;//商品价格
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Storage(int number, String name, double price) {
super();
this.number = number;
this.name = name;
this.price = price;
}
@Override
public String toString() {
return " [number=" + number + ",\t name=" + name + ",\t price=" + price + "]";
}
}