阅读:9348回复:1
hasNextInt() 的2点注意事项
1.会对下一次的输入进行处理,即紧跟后面的next等方法不用进行控制台再次输入。
public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请重新输入整数:"); }} 如上代码,如果当用户输入的是int型内容时,那么执行到a = in.nextInt()虚拟机就不会要求在控制台上再次输入。 2.只能执行一次检测,如需再次执行检测只能进行再次实例化,否则返回的值永远是false。(重难点) public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请重新输入整数:"); } a = in.nextInt();} 如上代码,所以当用户输入的内容是非int型时,那么执行到hasNextInt()时,它就永远返回false,就会陷入死循环。 如果要达到正常使用的话,那么就只能对in对象进行再次实例化操作,如下代码: public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请重新输入整数:");in = new Scanner(System.in);// 重新实例化a = in.nextInt(); }} 当然,实例化的另一种办法就是给in对象再次赋值,如下代码: public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请重新输入整数:");in.next();// 重新输入就是给对象开辟了一块新的地址,和实例化效果一样。a = in.nextInt(); }} |
|
最新喜欢:![]()
|
沙发#
发布于:2016-05-09 10:01
楼主分析的太透彻了,32个赞
|
|
|