0
我有以下的Java代码:InputMismatchException,使用扫描仪
Scanner input = new Scanner(System.in);
try {
System.out.println("Enter your name>>");
String name = input.next();
System.out.println("Enter your year of birth>>");
int age = input.nextInt();
System.out.println("Name: " + name);
System.out.println("Year of Birth: " + age);
System.out.println("Age: " + (2012 - age));
} catch (InputMismatchException err) {
System.out.println("Not a number");
}
当我输入一个名称用空格(如“詹姆斯·彼得森”),我正确地得到下一个线路输出(输入你的出生年份)然后立即发生InputMismatchException。该代码使用不带空格的单个名称。有什么我失踪?
谢谢。任何想法如何我可以解决这个问题? – ReignOfComputer 2013-04-22 04:27:40
没关系我知道了,我已经将'input.next()'改为'input.nextLine()'。谢谢! :D – ReignOfComputer 2013-04-22 04:30:17
我想设置'Scanner.useDelimiter(Pattern.compile(“[\\ r \\ n;] +”));'可能会工作,并在下一行输入每个标记。 – NINCOMPOOP 2013-04-22 04:30:41