-2
문제가 있습니다. 나는 물고기가있는 생태계에 대한 코드를 작성 중이며 기존 FishList Array에 새 Fish 객체를 추가하려고합니다. 그러나 ArrayList를 검사하면 비어있는 것으로 판명됩니까? 생각?Java 객체가 ArrayList에 추가되지 않았습니다.
public void addFish(Fish f){
ArrayList<Fish> fishplusone = new ArrayList<Fish>(fish.size());
if (landscape[f.getRow()][f.getCol()] != ROCK) {
for (Fish otherfish: this.fish) {
if(otherfish.getRow() == f.getRow() && otherfish.getCol() == f.getCol()) {
throw new IllegalFishPositionException(IllegalFishPositionException.TWO_FISH_IN_ONE_PLACE);
}
else {
fishplusone.add(otherfish);
}
fishplusone.add(f);
fish = fishplusone;
}
}
게시물을 편집하여 눈에 띄게 들여 쓰기를하고 불필요한 코드를 제거하십시오. 이상적으로, 문제를 보여주는 짧지만 완전한 * 프로그램을 보여 주어야합니다. 예를 들어 '물고기'변수가 무엇인지 전혀 알 수 없습니다. –
아마도'landscape [f.getRow()] [f.getCol()]'은'ROCK'이거나'this.fish'는 비어 있습니다 (예외가 없다고 가정 할 때). – assylias
항상 예외가 발생합니까? –