我正在尝试创建一个类型字符串数组,其大小和字符串由用户输入,我不断收到错误ArrayIndexOutOfBoundsException我发现有类似的线程,但没有一个解决了这个错误。在我的for语句中如果我取出等于并且只是做的少于我没有收到任何错误,但我只能输入一个小于我输入的数字的名称。如果我保留代码,那么一切似乎都能正常工作,因为它应该减去错误。我明白我得到了这个错误,因为我的阵列超出界限,但我无法弄清楚原因。请帮忙!谢谢!
package sales;
import compare.*;
import java.util.*;
public class Sales {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("Enter number of employees to compare:");
int numEmp = scan.nextInt();
while(numEmp < 2){
System.out.println("Has to be at least 2 employees:");
numEmp = scan.nextInt();
}
String[] names = new String[numEmp];
System.out.println("Enter employees name:");
for(int i=0;i<=names.length;i++){
names[i]=scan.nextLine();
}
}
}
答案 0 :(得分:0)
将for的条件更改为i<names.length
而不是i<=names.length
。
scan.nextLine(); //add this
for(int i=0;i<names.length;i++){
names[i]=scan.nextLine();
}