-1
メソッドで開始したarraylistを参照しようとしていますが、ArrayListから何かを削除しようとすると、ArrayListのサイズが0であるというエラーが表示されます。 ArrayListの値を設定すると、ArrayListのサイズがプリントアウトされます。これは、「学校」と呼ばれています。ここに私のコードです。ArrayList rangecheckエラー
import java.util.*;
public class SchoolSolver{
public static ArrayList<Girl> school = new ArrayList<Girl>();
public static ArrayList<Girl> used = new ArrayList<Girl>();
public static void main(String[] args){
resetSchool();
//System.out.println(school.size());
boolean notPossible = false;
for(int i = 0; i < 7; i++){
if(notPossible){
resetSchool();
} else {
newDay();
}
for(int j = 0; j < 5; i++){
//randomGirl() is where my error happens
Girl leader = randomGirl();
used.add(leader);
}
}
}
/*Below are the two methods where I suspect the error may originate from */
public static void resetSchool(){
school.clear();
for(int i = 0; i < 15; i++){
//System.out.println("ran");
school.add(new Girl(i));
}
for(Girl g : school){
ArrayList<Girl> classmates = new ArrayList<Girl>();
for(int i = 0; i < 15; i++){
if(i!= g.getID()){
classmates.add(new Girl(i));
}
}
g.setClassmates(classmates);
}
}
public static Girl randomGirl(){
return school.remove(0);
}
ありがとう、私は助けていただきありがとうございます!
このコードはコンパイルされていないようです。これは実際のコードですか?そうでない場合は、コミュニティに実際のコードを提供することによって自分自身を助けてください。本当にあなたが直面しているバグではないバグを追跡しないようにしてください。 :)例えば、あなたは閉じた中括弧なしのforループを持っていて、閉じたコメントなしで半分のコードをコメントし始めました。ここで何が起こっているのかを伝えるのは本当に難しいことです。 – jmort253