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