0
の最後にユーザー入力を登録しません。私がそれに金を預けて、 "その他のもの(YかN)?"私は後に何も入力することはできません。私はredo
の文字列を持っています。私がお金を入金しなければ、私はredo
のために何かを入力して、プログラムをループさせることができます。何かを預けてもループするように修正するには?Javaは、私はこのコードを持っている-whileループ
の最後にユーザー入力を登録しません。私がそれに金を預けて、 "その他のもの(YかN)?"私は後に何も入力することはできません。私はredo
の文字列を持っています。私がお金を入金しなければ、私はredo
のために何かを入力して、プログラムをループさせることができます。何かを預けてもループするように修正するには?Javaは、私はこのコードを持っている-whileループ
理由は多少トリッキーです。 in.nextDouble()
に電話をかけた後に、ユーザーの\n
が入力ストリームに残っているため、redo
はredo = in.nextLine().toUpperCase()
にコールすると空のStringと等しくなります。
if(answer.equals("deposit")){
System.out.println("How much do you want to deposit?");
double money = in.nextDouble();
in.nextLine();
deposit(money);
}
するか、別の代替は、次のとおりです:それを修正するには、そのようin.nextLine()
を追加
if(answer.equals("deposit")){
System.out.println("How much do you want to deposit?");
double money = Double.parseDouble(in.nextLine());
deposit(money);
}