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

Scanner sc = new Scanner(System.in);

System.out.print("判定 ");
int x = sc.nextInt();

if(x >= 0.4)
            System.out.println("判定 A");
else if(x >= 0.3 && x < 0.4)
            System.out.println("判定 B");
else
            System.out.println("判定 C");

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