ArrayList に保存される人の名前を入力するようにユーザーに依頼し、別の ArrayList にも保存される同じ人の電話番号を入力するようにユーザーに依頼するコンストラクターを作成したいと考えています。ユーザーが「いいえ」を入力しない限り、これはループし続ける必要があります。これにより、ループが終了します。
ただし、デモクラスでメソッドを実行すると、最初の反復は正常に機能しますが、2回目のタイムアウトでは、ユーザーの名前の入力をスキップして電話番号の入力に直接ジャンプするため、機能しません。
私は正確に何を間違っていますか?
public PhoneBookEntry()
{
System.out.println("Enter the following requested data.");
System.out.println("");
int i=0;
while(i==0)
{
System.out.println("Enter the name of the person (enter 'no' to end): ");
input_name = kb.nextLine();
if(!input_name.equalsIgnoreCase("no"))
{
name.add(input_name);
System.out.println("Enter the phone number of that person (enter '-1' to end): ");
input_number = kb.nextLong();
phone_number.add(input_number);
}
else
{
name.trimToSize();
break;
}
System.out.println("");
}
}