0
격자 모양으로 맵을 만들려고합니다. 4 열 X 5 각 행을 함께 연결하고 연결합니다. 아래 코드가 컴파일되지만 실행하려고하면 오류가 발생합니다. 아무도 그것이 어디 잘못되었는지 말해 줄 수 있습니까? 감사.2D 배열로 요소를 연결하는 방법
public static final int NUM_ROOMS = 20;
public static final int NUM_COLS = 4;
private ArrayList<Room> myRooms;
public Map(){
int row =0;
ArrayList<Room> myRooms = new ArrayList<Room>();
while (row<NUM_COLS){
int i =0;
i = row % NUM_COLS;
while(i+1<NUM_COLS){
while (i+1 <(row+1)% NUM_COLS){
Room r1 = myRooms.get(i);
Room r2 = myRooms.get(i+1);
r1.connectTo(r2);
r2.connectTo(r1);
i++;
}
row++;
}
int col = 0;
while (col<NUM_COLS){
i = col;
while (i+4<NUM_ROOMS){
i = i+NUM_COLS;
}
col++;
}
}
}
뭐죠? .. stacktrace – PermGenError
@ user1721548 게시하십시오. 미리 정의 된 클래스 또는 인터페이스, 자바의 일부입니다. 그것들은 기능을 가지고 있습니다. 그러나 이름에 클래스 이름을 사용한다면, 미리 정의 된 클래스를 사용할 때까지는 아무런 문제가 없습니다. 클래스 이름은 미리 정의 된'Map'입니다. Interface' .. http://docs.oracle.com/javase/7/docs/api/java/util/Map.html을 참조하십시오. –
@RohitJain 학교에서 이러한 사소한 이름 충돌에 대해별로 신경 쓰지 않아야한다고 생각하지 않습니다. . 물론 대규모 프로덕션 환경에서는 숙련 된 프로그래머가 기능에 대한 잘못된 가정을하기 때문에 클래스 맵의 이름을 지정하는 것은 좋지 않은 아이디어입니다. 그러나 학교 예에서는 그렇지 않습니다. 그리고 Java를 처음 접했을 때 JavaSE 라이브러리에 같은 이름의 클래스가없는 것을 보장하는 것보다 훨씬 중요한 작업이 많이 있습니다. 이러한 고려 사항은 나중에 해당 라이브러리에 익숙해지면 나중에 만들 수 있습니다. – Alderath