2 回答

TA貢獻1845條經驗 獲得超8個贊
您的許多代碼似乎都基于Container以相似(如果不相同)的方式交互五個對象之一。首先,您可以使用 ArrayList 來存儲 Container 對象的列表,而不是手動聲明每個容器:
public static ArrayList<Container> containerList = new ArrayList<Container>();
然后,您可以使用新容器填充此列表ArrayList.add(E e),并結合 for 循環或其他一些構造:
for (int i = 1; i <= 5; i++) {
Container container = new Container("Container " + i + ": ");
containerList.add(container);
}
同樣,您可以使用ArrayList.get(int index)(如果您知道索引)或ArrayList.indexOf(Object o)(如果您有對特定容器的引用)訪問任何特定容器。這可以替換或補充您的條件語句。例如,您的(contInput.equals("X"))語句列表可以替換為:
int index = Integer.parseInt(contInput);
System.out.print("Input the name of Container " + index + ": ");
Container container = containerList.get(index - 1); // arrays start at 0, but your numbering starts at 1
String contImp = reader.nextLine();
container.renameCont(contImp);
container.printContainer();
希望這可以幫助。

TA貢獻1799條經驗 獲得超6個贊
您可以像這樣將容器添加到 ArrayList:
ArrayList<Container> containers = new ArrayList<>();
containers.add(new Container("Container 1: "));
containers.add(new Container("Container 2: "));
containers.add(new Container("Container 3: "));
然后像這樣得到它們:
Container firstContainer = containers.get(0);
Container secondContainer = containers.get(1);
添加回答
舉報