while(!input.equals("-1")){
plantName = "";
plantCost = "";
colorOfFlowers = "";
isAnnual = false;
if (input.charAt(0) == 'p') {
Plant plant = new Plant();
String[] temp = input.split(" ");
plantName = temp[1];
plantCost = temp[2];
plant.setPlantName(plantName);
plant.setPlantCost(plantCost);
myGarden.add(plant);
}else {
Flower flower = new Flower();
String[] temp = input.split(" ");
flower.setPlantName(temp[1]);
flower.setPlantCost(temp[2]);
flower.setPlantType(Boolean.parseBoolean(temp[3]));
flower.setColorOfFlowers(temp[4]);
myGarden.add(flower);
}
input = scnr.nextLine();
}
这是我的意思的例子。在if语句的开头,我创建了一个plant对象,最终使程序按我希望的方式工作,我不确定它为什么起作用。我的想法是,通过在while循环内创建对象,它在循环结束时“删除”并创建一个新对象。
同样,我不确定,因为每次我问教授一个关于任何概念的问题时,他都会告诉我来这里问一个人。 提前致谢。
您正在保存副本,因此旧对象已被覆盖。
这没什么不同。