Topic: [求教]Scanner阻塞问题 |
Print this page |
1.[求教]Scanner阻塞问题 | Copy to clipboard |
Posted by: puxinye Posted on: 2008-11-29 15:18 我用Scanner想取一个Double类型的值,如果输入的不是,则重新输入: Scanner scan=new Scanner(System.in); Double doub; while(true){ System.out.println("Input Something: "); try{ doub=scan.nextDouble(); break; }catch(Exception e){ System.out.println("Error!"); continue; } } 可是每次输入不对的话(如:输入dkdk),打印出来的是: Input Something: dkdk Error! Input Something: Error! Input Something: (这里才可以输入) 请问是什么原因?怎么解决? |
2.Re:[求教]Scanner阻塞问题 [Re: puxinye] | Copy to clipboard |
Posted by: micsolaris Posted on: 2008-11-29 18:48 import java.util.Scanner; 这样就可以解决。 原因是每当scan.next()的时候就会跳到新的起点,所以第一次如果不是Double,那么跳到第二点的时候,但是你while里执行的语句并没有要求scan重新赋值,所以自然总会出现异常,所以也就不断循环。 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |