【发布时间】:2017-05-22 04:52:20
【问题描述】:
在编程方面,我是一个完全的初学者,希望能得到一些帮助。我的程序有一个由用户输入的具有不同属性(例如名称和年龄)的狗对象的 ArrayList (dogRegister)。
该程序应该能够更新狗的年龄并从列表中删除狗,等等。要求用户输入要删除的狗的名字,如果输入的名字在列表中,则删除该狗。如果该名称未包含在列表中,则程序将打印“未找到狗”。年龄命令也是如此,如果包含名字,狗会变大 1 岁。如果不是 - “找不到狗”。
我正在为 if 语句及其条件而苦苦挣扎。我的代码和策略不起作用,因为它会为列表中的每个项目打印“未找到”,直到找到正确的项目。我只希望它打印一次,并且只告诉是否找到了该项目。关于如何解决它的任何想法?
如果您需要查看我的更多代码,请告诉我。
public void deleteDog(){
System.out.print("Enter name of dog to delete: ");
String nameOfDogToDelete = readString(); //returns the nextLine();
for (Dog dl : dogRegister) {
if (dl.getName().contains(nameOfDogToDelete)) {
dogRegister.remove(dl);
System.out.println("Dog deleted.");
}
else if (!dl.getName().contains(nameOfDogToDelete)) {
System.out.println("Dog not found.");
}
}
}
public void editAge(){
System.out.print("Enter name of aging dog: ");
String nameOfAgingDog = readString(); //returns the nextLine();
for (Dog a : dogRegister) {
if (a.getName().contains(nameOfAgingDog)) {
a.updateAge(); //method returning the dog's age++
System.out.println("Dog's age updated.");
}
else if (!a.getName().contains(nameOfAgingDog)) {
System.out.println("Dog not found.");
}
}
}
【问题讨论】:
标签: java if-statement for-loop arraylist contains