私は単純な文字列ビルダーである学校用の単純なプログラムに取り組んでいます。配列のサイズを適切に定義していますが、プログラムを実行するArrayIndexOutOfBoundsException: 0
とスローされます。コンストラクター、名前、およびクラスの変数を初期化します。name
は生徒の名前、classes
は生徒が毎日受けているクラスの数です。私の配列のサイズは、を使用して定義されていclasses
ます。これが私のコンストラクタと変数です。
protected String name = "";
protected int classes;
private String schedule = "";
private String[] course = new String[classes];
private String[] room = new String[classes];
private int[] Period = new int[classes];
public StringBuilderHandler(String name, int classes) {
this.name = name;
this.classes = classes;
}
文字列のスケジュールを設定するために for ループを使用しています。
private void setClass(int index) {
Scanner scan = new Scanner(System.in);
class[index] = scan.nextLine();
}
private void setPeriod(int index) {
Scanner scan = new Scanner(System.in);
period[index] = scan.nextInt();
}
public void setRoom(int index) {
Scanner scan = new Scanner(System.in);
room[index] = scan.nextLine();
}
public void buildSchedule() {
for (int i = 0; i < classes; i++) {
System.out.println("What is your class?");
setClass(i);
System.out.println("What period is this class?");
setPeriod(i);
System.out.println("What room is this class?");
setRoom(i);
schedule = schedule +"Period "+period[i]+"\t"+course[i]+"\tRoom "+room[i]+"\n";
}
}
何か案は?