私はプログラミングに関しては助けを求めていました。私のプログラムは、ユーザーによって入力された名前や年齢などの異なる属性を持つdogオブジェクトのArrayList(dogRegister)を持っています。ArrayList、forループとif文に関する問題 - リスト内の各項目の行を出力します
プログラムは、犬の年齢を更新して、リストから犬を削除することができるはずです。ユーザーは削除する犬の名前を入力するように求められ、入力された名前がリストにあれば犬は削除されます。名前がリストに含まれていない場合、プログラムは「Dog not found」と表示します。年齢コマンドにも同じ名前が付けられていれば、犬は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.");
}
}
}
忍耐、男を..見つからない..私は説明を入力して、あなたが – SoulRayder
をコメントとして、私は私のダウンの投票を撤回したが、これはまだ動作しません。例えば、 'nameOfDogToDelete'がリスト内の最初の犬でないとどうなるか考えてみてください... –
説明を更新しました – SoulRayder