2017-04-16 11 views
0

inputDouble(二重として)と入力したときに、条件付きで渡すことができない理由を教えてもらえますか?フロートタイプでもこれを試しましたが、結果は同じです。スキャナクラス - hasNextDouble()

EDIT:整数型を入力するときの条件付き渡し。

public static void main(String[] args) { 

    Scanner inputDouble = new Scanner(System.in); 

    System.out.println("Double"); 

    if(inputDouble.hasNextDouble()){ 
     System.out.println("Passed"); 
    } 

    inputDouble.close(); 

} 

ありがとうございました。

解決しよう:CODE私は整数を入力していたとき、私はDOT INSTEAD OF COMMA

+0

として,を使用してみてください。 – Farahmand

+0

あなたはあなたが渡している価値を表示できますか? –

+0

多分あなたのロケールはあなたが提供した二重の異なるフォーマットを期待しています。 '1.2'か' 1,2'で試してみてください。 – Pshemo

答えて

0

条件付き合格をINPUTを入力してWAS良かったです。

このタイプを広げるとして知られているが、基本的に、intタイプは、データを失うことなく安全にdouble型に変換することができます。コンパイラは暗黙的にintdouble型に変換します。用として

:私はinputDoubleを入力していたときに、なぜ

は、誰かが私を伝えることができます( もちろんのダブルなど)、条件は私が合格できません。

私の知っている限り、あなたのコードで問題はありません。IDEでテストしたところ、すべてが期待通りに動作しているようです。しかし、これは地域と関係する可能性があるので、Scannerの正しいロケールを使用していることを確認してください。

は、私は、コードをテストし、条件に合格したダブル/小数の区切り文字ではなく.

+0

しかし、私はまだ条件付きが合格しない理由は分かりません例3.0 – Memes

関連する問題