2012-02-24 5 views
0

그래서, 나는 클래스 Square을 가지고 있는데 배열을 사용하려고합니다. board.Java에서 배열을 사용하는 데 문제가 있습니까?

public class Square{ 
    public int pcolor; 
    public int contains; 
    public int xPos; 
    public int yPos; 
    Square(int xp,int yp,int pc,int cont){ 
     xPos=xp; 
     yPos=yp; 
     contains=cont; 
     pcolor=pc; 
    } 
}; 
Square[] board = new Square[64]; 
board[0].xPos=0; 

이 나에게 board[0].xpos=0;unexpected token: [을 제공합니다 : 여기 내 코드입니다. 누구든지이 문제를 해결할 수 있습니까?


EDIT :

OK가 나는 방법 내측 board[0].xpos=0; 이동; 이제 나에게 NullPointerException을 준다. 나는 무엇을해야합니까?

+3

코드를 알려주십시오. – mcfinnigan

+1

xPos가 보이지 않습니다. – m0skit0

+0

코드를 더 게시하십시오. 구문 오류와 같습니다. –

답변

3

메서드 또는 정적 범위 안에 선언문을 만들려고합니다.

진술 문 board[0].xPos = 0;은 [아마도] 메소드 안에 있어야합니다. - 당신은 방법 또는 그것을해야 할 것

public class Square{ 
    public int pcolor; 
    public int contains; 
    public int xPos; 
    public int yPos; 
    Square(int xp,int yp,int pc,int cont){ 
     xPos=xp; 
     yPos=yp; 
     contains=cont; 
     pcolor=pc; 
    } 
    Square[] board = new Square[64]; 
} 

초기화 [액세스] 요소 board에서하려면

는 또한 잘 컴파일 중복 };

이 코드를 갖고있는 것 같다 생성자. board에서

+0

이 코드가 같은 파일에 없기를 바랍니다. -_- – jn1kk

+0

스퀘어 보드가 클래스 스퀘어 내에있는 이유 – user1188752

+0

@ user1188752 : 실제로 무엇을하려고하는지 잘 모르겠습니다. 컴파일하는 코드 샘플 일뿐입니다. 당신이 달성하고자하는 것에 대한 더 많은 정보가 없으면 - 나는 단지 짐작할 수 있습니다. – amit

1

글쎄,이 작업을 올바르게 수행하면 아직 개체를 만들지 않았기 때문에 NullPointerException이 표시됩니다. 제 생각에는 구문 오류가 있습니다.

+0

NPE는 런타임 오류이며, – amit

+0

"당신은 아직 어떤 객체도 만들지 않았다"는 뜻이 무엇입니까? – user1188752

+0

@amit 그가 구문을 전처리하는 IDE를 사용하고있을 가능성이 있습니다 – jn1kk

0

모든 Squarenull이고, 당신이

당신이 배열 초기화 할 수 있습니다 ... null 객체의 필드에 액세스하려는 : 또한

for(int i = 0; i < board.length; i++) 
    board[i] = new Square(...something_here...); 

, 나 '를 당신이 무엇을 하려는지 확실하지 않지만, Square[][]을 사용해보십시오!

관련 문제