【发布时间】:2020-09-24 05:40:29
【问题描述】:
我正在开发一个 Java 项目,并且我的 Super 类具有私有属性。我使用从 Main 中的超类继承的访问器和修改器来设置和获取这些属性。我正在创建一个 for 循环来根据用户的 INT 号遍历输入。我被困在如何获取用户输入的名称并将其添加到循环内的 ArrayList 中,所以完成后我应该有 X 个名称。
Scanner input = new Scanner(System.in);
ArrayList<String> animalList = new ArrayList<String>();
//local variables
char choice;
int choice2;
String mInputN;
String mInputT;
String mInputG;
int mInputA;
double mInputW;
String mInputD;
//user input if else statement for Y or N
System.out.println("Would you like to add an animal? Y or N ");
choice = input.next().toUpperCase().charAt(0);
if (choice == 'Y') {
System.out.println("How many animals would you like to add?");
choice2 = input.nextInt();
for (i = 0; i < choice2; ++i) {
System.out.println("Enter new animal name: ");
mInputN = input.next();
System.out.println("Enter type of animal: ");
mInputT = input.next();
System.out.println("Enter gender of animal: ");
mInputG = input.next();
System.out.println("Enter age of animal: ");
mInputA = input.nextInt();
System.out.println("Enter weight of animal: ");
mInputW = input.nextDouble();
System.out.println("Date acquired (DD/MM/YYYY");
mInputD = input.next();
RescueAnimal animal[i] = new RescueAnimal();
animal[i].setName(mInputN);
animal[i].setType(mInputT);
animal[i].setGender(mInputG);
animal[i].setAge(mInputA);
animal[i].setWeight(mInputW);
animal[i].setAcquisitionDate(mInputD);
animalList.add(mInputN);
System.out.println(animal[i].getName() + ", Age: " + animal[i].getAge() + ", Gender: " + animal[i].getGender());
System.out.print("Type: " + animal[i].getType() + ", ");
System.out.print("Weight: " + animal[i].getWeight() + ", ");
System.out.println("Acquisition Date: " + animal[i].getAcquisitionDate());
System.out.println();
System.out.println(animalList);
}
【问题讨论】:
-
你在 for 循环之外尝试过
System.out.println(animalList);吗? -
您想只将名称添加到
AnimalList?您已经有了执行此操作的代码 (animalList.add(mInputn);)。 -
@BookOfZeus 是的,就是这样,谢谢你的帮助,我整天都在努力,到了一天结束时,我的大脑错过了最关键的部分。
标签: java for-loop arraylist iteration