簡體   English   中英

返回if語句導致無法訪問的代碼錯誤

[英]Return in if statement causing unreachable code error

如下代碼:

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,我想做其他代碼。 為什么無法訪問?

if您的if語句后有一個分號。

有 ; 如果if語句將其刪除,它將起作用:)

if(p==null); <-刪除最后的分號

也許是“;” 在:
if(p == null) ;

如果您要刪除分號

您在哪里實例化ListNode K?

在我看來,問題是ListNode k沒有被實例化。

我認為您需要這樣的東西。 ListNode k =新的ListNode();

您是在課堂上創建的嗎?

你也有一個; 在if(p == null)之后; 這需要刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM