0

Javaで4つリンクリストをNodeオブジェクトのマトリックスとして実装しています。これは、内部クラスとして実装しています。

public class Test {

    private Node[][] Matrix;

    class Node {
        int data; 
        Node up;
        Node down;
        Node left;
        Node right;
    }

    public Test() {
        Matrix = new Node[10][10];
        for (int col = 0; col < 10; col++) {
            for (int row = 0; row < 10; row++) {
                Matrix[row][col] = new Node();
            }
        }
    }

    public static void main(String[] args) {
        Test test = new Test();
    }

}

まず第一に、これはそれを行うための正しい/最良の方法ですか?次に、正常に実行されますが、行ごとにデバッグすると、エラーが発生Test(Object).<init>() line: 37 [local variables unavailable]Source not found、行に進む直前にウィンドウが表示されますMatrix = new Node[10][10];。その後、その行でスタックし、ClassNotFound例外が発生します。

owns: Object  (id=28)   
owns: Object  (id=29)   
ClassNotFoundException(Throwable).<init>(String, Throwable) line: 286   
ClassNotFoundException(Exception).<init>(String, Throwable) line: not available 
ClassNotFoundException(ReflectiveOperationException).<init>(String, Throwable) line: not available  
ClassNotFoundException.<init>(String) line: not available   
URLClassLoader$1.run() line: not available  
URLClassLoader$1.run() line: not available  
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]   
Launcher$ExtClassLoader(URLClassLoader).findClass(String) line: not available   
Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) line: not available 
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: not available 
Launcher$AppClassLoader.loadClass(String, boolean) line: not available  
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: not available  

なぜこうなった?

ありがとう!

4

2 に答える 2

1

不要なブレークポイントがある可能性がありますか?デバッグビューのスタックにThread[main] (Suspended...)メッセージが表示されていますか?ブレークポイントビューに移動し、それらをすべて削除して、テストクラスに再度設定し、デバッグを再試行します。

この投稿を確認してください(元々はこの回答で見られました)。

于 2012-08-07T21:54:40.480 に答える
0

さらに考えてみると、これは実際にはバグではないと思います。Objectのデフォルトのコンストラクターを使用しています。これは、Eclipseがアクセスできない可能性のあるソースコードです(Javaライブラリーなどの一部であるため)。わかりませんが、それが私が持っている最良の答えです。

最善の解決策は、ノードの構築に踏み込むのではなく、一歩踏み出すことです。

于 2012-09-09T03:11:26.070 に答える