我的扫描仪和 nextLine 有问题。发生的情况是它跳过了循环的第一圈。我的猜测是扫描仪已经在这里包含了一些东西,比如换行符之类的。如果我对 strCount 和循环中的一个使用两种不同的扫描仪,它确实有效。这是正确的吗?如果是,有什么方法可以在不使用两个不同扫描仪的情况下完成这项工作。
import java.util.*;
public class chars_in_string {
public static void main(String[] args) {
Scanner key = new Scanner(System.in);
System.out.print("Number of strings?");
int strCount = key.nextInt();
String [] array = new String[strCount];
for(int x = 0; x < strCount; x++){
System.out.print("String "+(x+1)+":");
array[x] = key.nextLine();
}
}
}
输入/输出示例:
串数?8
字符串 1:字符串 2:
从这里输入任何字符串都可以正常工作,它只会在循环中跳转 1 步以获取下一个。