-1
我有一个方法提示用户输入整数,并使输入的字符串数组的长度。该问题似乎是迭代数组时...如果我输入3作为“numofstud”,它将只存储两个值。我试着添加for (int i = 0; i < nameArray.length + 1; i++)
,但只给了我一个ArrayIndexOutOfBounds
错误...重复数组java
有人可以告诉我,当我迭代数组时,我的错误是什么。 感谢
void userInput(){
Scanner s = new Scanner(System.in);
System.out.println("Please enter the number of students: ");
while(!s.hasNextInt()){
s.next();
} numofstud = s.nextInt();
String nameArray[] = new String[numofstud];
for(int i = 0; i < nameArray.length ; ++i){
System.out.println("Please enter the student's name: ");
while(!s.hasNext("[a-zA-Z]+")){
s.next();
}
nameArray[i] = s.nextLine();
}
}
你怎么知道它只存储两个值?它会提示你三次吗?你有没有示例输入/输出? – lucasvw
[Scanner在使用next(),nextInt()或其他nextFoo()方法之后跳过nextLine()的可能副本(http://stackoverflow.com/questions/13102045/scanner-is-skipping-nextline-after-使用-下一nextint - 或其它-nextfoo) –