Java扫描器下一行方法

Java扫描器下一行方法,java,java.util.scanner,Java,Java.util.scanner,我知道使用nextLine()方法不会使用新行字符,所以要处理这个问题,我需要使用空的nextLine()方法继续 我的问题是,作为一种替代解决方案,使用两个扫描器(一个用于字符串输入,一个用于整数)时,程序是否会出现任何类型的运行时错误 Scanner in = new Scanner(System.in); Scanner ints = new Scanner(System.in); int userInt = ints.nextInt(); String userInput = in.n

我知道使用nextLine()方法不会使用新行字符,所以要处理这个问题,我需要使用空的nextLine()方法继续

我的问题是,作为一种替代解决方案,使用两个扫描器(一个用于字符串输入,一个用于整数)时,程序是否会出现任何类型的运行时错误

Scanner in = new Scanner(System.in);
Scanner ints = new Scanner(System.in);

int userInt = ints.nextInt();
String userInput = in.nextLine();
谢谢你的帮助

(编辑后的问题不那么主观)

这里的问题是

String userInt = ints.nextInt();
您正在将int值输入字符串值 试一试

回到你的问题上来
不,有两个扫描仪并不“坏”,只是不需要。

仅尝试nextLine()并使用Integer.parseInt()@JimmyPage解析数字。我认为这不是他的问题。你可能可以看看这个@tacocate right。。。thanks@KaiWuToh感谢链接-skiwi的第二个答案很有帮助,虽然上面的代码是有效的,但为什么他建议您在扫描每个对象时只使用一个扫描仪实例呢?对不起!打字错误这应该是int userInt-在原始帖子中修复的,谢谢。如果你在教这个,你会用一种方法而不是另一种方法来教它吗(两个扫描器用于不同的输入,而一个扫描器使用空的nextLine()方法)?当然。虽然你能把我的答案打勾吗(如果它回答了你的问题)?1) 你不需要在一个类中使用两个扫描器,除非你做了一些特殊的事情。2) 一台扫描仪可用于您的病例扫描仪in=新扫描仪(System.in);int userInt=in.nextInt();字符串userInput=in.nextLine();或者您可以使用in.next()代替nextLineOK谢谢您的帮助!
String userInt=ints.next();
//OR
int userInt=ints.nextInt();