2016-03-22 7 views
0

の最後にユーザー入力を登録しません。私がそれに金を預けて、 "その他のもの(YかN)?"私は後に何も入力することはできません。私はredoの文字列を持っています。私がお金を入金しなければ、私はredoのために何かを入力して、プログラムをループさせることができます。何かを預けてもループするように修正するには?Javaは、私はこのコードを持っている-whileループ

答えて

5

理由は多少トリッキーです。 in.nextDouble()に電話をかけた後に、ユーザーの\nが入力ストリームに残っているため、redoredo = 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); 
    } 
関連する問題