サイズと文字列がユーザーによって入力され、エラーが発生している型文字列の配列を作成しようとしています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();
}
}
}
この特定のシナリオは、重複した回答で正確に説明されています。 –
私はそれを見ていない、私の問題を解決したものは、scan.nextLine()を追加していた。私のfor声明の前に。重複しているとマークしたトピックには含まれていません。 – Zachary
それがうまくいくなら、それは偶然です。 'names [names.length]'へのアクセスは無効です。これがあなたのコードの本当の問題です。 –