为什么hasNext输入整数可以输出来,输入小数就无法直接跳到else,并且报错,而hasNextInt输入小数就可以跳转到else?
int i = 1; double k = 0.0; Scanner sc = new Scanner(System.in); if(sc.hasNext()) { i = sc.nextInt(); System.out.println("你输入的整数为:"+i); }else{ System.out.println("你输入的不是整数"); }
-
hashNext只是判断有没有输入值,不管是什么类型的,都会向下进行不会跳转到else。当输入整型2时,nextInt可以接收,于是可以输出。当输入小数2.0时nextInt无法接收,就无法输出,当然也就报错了

浙公网安备 33010602011771号