[英]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.