2014-02-28 4 views
0

나는 이클립스에서 클래스에 대한 게임 할당 작업을하고 있습니다. 오류가 발생했습니다 :Double Static Array 예외를 throw합니다

ClassNotFoundException (throwable); 디버거를 실행은 [8] [8]

내가 certanly 같은 패키지에있는 보석 클래스가 있고, 내가 캔트 새로운 보석을 입력하는 것 나던 동안

public static Jewel[][] grid = new Jewel[8][8]; 

에서 정지 그것이 왜 수업을 찾을 수 없는지 알아 낸다. 다른 클래스를 생성하려고하거나 클래스의 정적 부분이 컴파일 타임에 생성되지 않는다고 가정합니다. 추가 의견이 있으면 환영합니다.

여기에 보석 클래스의 인스턴스하지만 단지 참조를 작성하지 않습니다

package game; 

import java.awt.Dimension; 
import java.awt.Graphics; 
import java.awt.Graphics2D; 

import javax.swing.JPanel; 

public class PlayArea extends JPanel { 

    private static final long serialVersionUID = -9165676032115582474L; 

    public static Jewel[][] grid = new Jewel[8][8]; 

    public PlayArea(){ 

     this.setPreferredSize(new Dimension(Common.jewelWidth*Common.rowColLength,Common.jewelWidth*Common.rowColLength)); 
     this.setLayout(null); 

     for(int i = 0; i < Common.rowColLength; i++){ 
      for (int j = 0; j < Common.rowColLength; j++){ 
       grid[i][j] = new Jewel(); 
      } 
     } 
    } 

    @Override 
    public void paintComponent(Graphics g){ 
     Graphics2D g2 = (Graphics2D) g; 
     for (int i = 0; i <Common.rowColLength;i++){ 
      for(int j = 0; j < Common.rowColLength; j++){ 
       grid[i][j].drawJewel(i, j, g2); 
      } 
     } 
     Jewel grid2 = new Jewel(); 
     grid2.drawJewel(1, 1, g2); 
    } 
} 
+0

추측 예외를 스택 추적 게시하십시오. 에러가'ClassNotFoundException (throwable)'이라고 말하면, 그것이 무엇을 말하는 것입니까? 수업에 이름을 지어주지 않습니까? "멈추다"라고 말하면 예외가 던져 지거나 디버거가 건너 뜁니다. (거기에 아무 것도 입력하지 않으면 기존 답변이 맞습니다.) – Radiodef

+0

디버거를 실행하는 동안 디버거가 일시 중지되고 해당 객체/오류가 발생합니다. 내가 깨끗하게/재건/이클립스는 파일이나 무언가를 다시 보면 라인을 완전히 주석 처리했기 때문에 이클립스에게 똑같은 오류가 발생했는지 알 수있다. – Kraczekj

+0

청소 및 재구성이 작동하지 않으면 스택 추적을 게시하기 때문에 우리에게 유용한 것을 알려줄 수도 있습니다. 청소와 재건은 항상 이와 같은 상황에서 좋은 생각입니다. – Radiodef

답변

-1
public static Jewel[][] grid = new Jewel[8][8]; 

이이가 위치한 전체 클래스입니다. 명시 적으로 2D 배열을 반복하고 새 Jewel 인스턴스를 만들어야합니다.

grid[i][j] = new Jewel(); 

기본 생성자에 일부 코드가있는 경우 생성자 내부로 이동합니다.

-1
While running the debugger it doesnt seem to enter the new Jewel[8][8]. 
이는 보석 입력 wont't

[8] [8] 어레이의 인덱스가 0부터 시작하기 때문에 즉; 0-7 (count = 8)

관련 문제