

現在NetBeansでjavaの勉強をしているのですが

[code]

    Scanner sc = new Scanner(System.in);
    
    System.out.print("判定　");
    int x = sc.nextInt();
    
    if(x >= 0.4)
                System.out.println("判定　Ａ");
    else if(x >= 0.3 && x < 0.4)
                System.out.println("判定　Ｂ");
    else
                System.out.println("判定　Ｃ");
    
[/code]

と打って実行した際  
1や0だとしっかりと実行してくれるのですが  
0.5や0.2などで打ったらエラーになってしまいます。  
原因解明よろしくお願いします。


CC BY-SA 3.0
2017-11-08T14:23:26.443
39421
2018-01-20T14:22:16.563
2017-11-08T14:37:09.407
3605
26107
question
java netbeans
javaでif文について


int 型で表現できる値は 1 や 0 などの整数です。  
0.5 や 0.2 といった小数を表現するには、double 型（または float 型）を使用する必要があります。

質問のコードの場合は `int x = sc.nextInt();` ではなく、 `double x = sc.nextDouble();`
とすれば動きます。


CC BY-SA 3.0
2017-11-08T16:54:43.337
39426
2017-11-08T16:54:43.337
14334
39421
answer

[code]

    Scanner sc = new Scanner(System.in);
    
    System.out.print("判定　");
    double x = sc.nextDouble();
    
    if(x >= 0.4)
                System.out.println("判定　Ａ");
    else if(x >= 0.3 && x < 0.4)
                System.out.println("判定　Ｂ");
    else
                System.out.println("判定　Ｃ");
    
[/code]


CC BY-SA 3.0
2017-11-09T00:28:49.483
39432
2017-11-09T00:28:49.483
21151
39421
answer