2016-05-19 10 views
1
System.out.println("Please enter the amount of money you have here: "); 
Scanner have = new Scanner(System.in); 
System.out.println("Please enter your starting bet here: "); 
Scanner rate = new Scanner(System.in); 

int moneyHad = Integer.parseInt(have.next()); 
int moneyRate = Integer.parseInt(rate.next()); 
System.out.println(moneyHad + ", " + moneyRate); 

これは私のコードですが、これは私の出力です。Java - スキャナが入力を求めていない

Please enter the amount of money you have here: 
Please enter your starting bet here: 1 
1 
1, 1 

出力の1行目に入力がなかった理由を尋ねる前に両方の出力が表示されているのがわかります。

すぐに手伝ってください!

+0

なぜ2つの 'Scanner'オブジェクトを作成していますか? – Abubakkar

+1

コード行の順番を見て、各行が何をするのかを考えてみてください。さらに深い洞察のために、デバッガを使用してください。一度それをしたら、どこに問題があるかを知るのは難しくありません。 'Scanner'のヒント:同じ' InputStream'上にある複数のScannerはいくつかの問題を引き起こす可能性が高いため、最初に2つのScannerを用意する必要はありません。 – Paul

+0

Abubakkar Rangara、その理由は2つの入力が必要なためです。 – mobinblack

答えて

2
  • 2スキャナオブジェクト
  • を作成する必要はありませんint型(scanner.nextIntを())を返すメソッドがありますが、scanner.nextInt(呼び出すときに入力
  • のparseIntする必要は赤ではありません)スキャナオブジェクトを作成していない

この試してみてください:あなただけの1スキャナーオブジェクトと呼びが必要

Scanner scanner = new Scanner(System.in); 

     System.out.print("Please enter the amount of money you have here: "); 
     int moneyHad = scanner.nextInt(); 
     System.out.print("Please enter your starting bet here: "); 
     int moneyRate = scanner.nextInt(); 


     System.out.println(moneyHad + ", " + moneyRate); 
+0

しかしそれはまだそれをやっている... – mobinblack

+0

プラスなぜあなたは1つのスキャナが必要ですか? – mobinblack

+0

ありがとうございます – mobinblack

1

をメソッドを使用して、後続のエントリを取得します。

+0

うん、私は上記のコメントでそれを見た。 – mobinblack

関連する問題