Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 双静态数组引发异常_Java_Image_Static Array - Fatal编程技术网

Java 双静态数组引发异常

Java 双静态数组引发异常,java,image,static-array,Java,Image,Static Array,我正在为我的班做一个eclipse游戏作业。我得到一个错误: ClassNotFoundException(可丢弃) 它停在 public static Jewel[][] grid = new Jewel[8][8]; 运行调试器时,它似乎没有输入新的Jewel[8][8] 我肯定有珠宝类在同一个包中,我不明白为什么它找不到类。我假设它正在尝试生成一个不同的类,或者该类的静态部分没有在编译时生成。欢迎任何补充意见 这是它所在的整个班级 package game; import java.a

我正在为我的班做一个eclipse游戏作业。我得到一个错误:

ClassNotFoundException(可丢弃)

它停在

public static Jewel[][] grid = new Jewel[8][8];
运行调试器时,它似乎没有输入新的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);
    }
}
打包游戏;
导入java.awt.Dimension;
导入java.awt.Graphics;
导入java.awt.Graphics2D;
导入javax.swing.JPanel;
公共类游乐场扩展至JPanel{
私有静态最终长serialVersionUID=-9165676032115582474L;
公共静态宝石[][]网格=新宝石[8][8];
公众游乐场(){
此.setPreferredSize(新维度(Common.jewelWidth*Common.rowColLength,Common.jewelWidth*Common.rowColLength));
此.setLayout(null);
对于(int i=0;i
grid[i][j] = new Jewel();
如果您的默认构造函数中有一些代码,那么它将进入构造函数中

While running the debugger it doesnt seem to enter the new Jewel[8][8].

它不会输入jewel[8][8],因为数组索引从0开始。也就是说,从0-7(count=8)

将堆栈跟踪发布到异常,我猜。当你说错误是
ClassNotFoundException(throwable)
时,它就是这么说的?它没有命名类?当你说“它停在”时你的意思是异常抛出到那里,或者调试器跳过它?(它不会在那里输入任何内容,现有的答案是正确的。)运行调试器时,调试器暂停并抛出该对象/错误。我想知道是否必须清理/重建/告诉eclipse重新查看文件或其他内容,因为我完全注释掉了该行,它给出了相同的错误。如果清理和重建不起作用,请发布堆栈跟踪,因为它可能会告诉我们一些有用的信息。清理和在这种情况下重建总是一个好主意。在检查堆栈跟踪后,我重新编写了文件以排除Jewel类。这似乎解决了我的问题,一切似乎都很顺利。我想我应该从一开始就将代码设计得更好。感谢您建议检查堆栈跟踪。-如果是的话如果你回答的话是这样的话,我很乐意把它记下来。
While running the debugger it doesnt seem to enter the new Jewel[8][8].