Java 扫描仪将空白作为输入
我想把两个字符串输入到一个字符串数组中Java 扫描仪将空白作为输入,java,java.util.scanner,Java,Java.util.scanner,我想把两个字符串输入到一个字符串数组中 String[] b = new String[n]; 通过使用扫描仪,但扫描仪会自动获取空白值 b[0]。即。它跳过第一个循环 Scanner scn = new Scanner(System.in); int no = 0; int n = scn.nextInt(); String[] b = new String[n]; for (int j = 0; j < n; j++
String[] b = new String[n];
通过使用扫描仪,但扫描仪会自动获取空白值
b[0]
。即。它跳过第一个循环
Scanner scn = new Scanner(System.in);
int no = 0;
int n = scn.nextInt();
String[] b = new String[n];
for (int j = 0; j < n; j++) {
System.out.println("Enter the string");
b[j] = scn.nextLine();
}
有人能告诉我为什么会出现这个问题吗?这是因为
nextInt()
没有读取输入中的\n
。然后由您的nextLine()
更多解释,
当您在
nextInt()调用提示下输入号码时。您键入一个数字,然后按Enter键,这会使您的输入看起来像这样
10\n
nextInt()
然后,您的nextLine()
只读取\n
这解释了您的输出。
您可以通过在nextLine()
之后添加一个额外的nextLine()
来获得预期的输出
请参阅了解更多信息。@vineethPrabhakaran欢迎您!
2
Enter
Enter
abc