字符串数组超出范围

时间:2017-05-14 20:25:26

标签: java arrays string

我正在尝试创建一个类型字符串数组,其大小和字符串由用户输入,我不断收到错误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();    
        }
    }
}

1 个答案:

答案 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();
}