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);
添加回答
举报
