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 + "]";
}
}