1

次のコード:

public static void print(ListNode p)
{
    System.out.print("[");
    if(p==null);
    {
        System.out.println("]");
        return;
    }
    ListNode k = p.getNext();
    //more code
}

次のコンパイル エラーが発生します。

 ----jGRASP exec: javac -g Josephus_5_Rajolu.java

Josephus_5_Rajolu.java:53: error: unreachable statement
            ListNode k = p.getNext();
                     ^
1 error

 ----jGRASP wedge2: exit code for process is 1.
 ----jGRASP: operation complete.

なぜそれが起こっているのですか?p = null の場合にのみ返されます。p!=null の場合、他のコードを実行したい。到達できないのはなぜですか?

4

6 に答える 6

12

ifステートメントの後にセミコロンがあります。

于 2012-11-13T23:43:54.513 に答える
3

がある ; ifステートメントがそれを削除した後、それは機能します:)

于 2012-11-13T23:45:19.797 に答える
2

if(p==null);<-最後のセミコロンを削除します

于 2012-11-13T23:44:18.883 に答える
2

多分';' で:
if(p == null);

于 2012-11-13T23:44:39.367 に答える
1

if の後のセミコロンを削除します

于 2012-11-13T23:47:43.167 に答える
1

ListNode K をどこでインスタンス化していますか?

ListNode k がインスタンス化されていないことが問題のようです。

このようなものが必要だと思います。ListNode k = 新しい ListNode();

クラス内でこれを作成していますか?

また、 ; があります。if(p==null)の後; それを取り除く必要があります。

于 2012-11-13T23:50:22.410 に答える