以下代码:
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,我想做我的其他代码。为什么无法访问?
答案 0 :(得分:12)
在if
声明之后有一个分号。
答案 1 :(得分:3)
有;在if语句删除后,它将起作用:)
答案 2 :(得分:2)
if(p==null);
< - 删除末尾的分号
答案 3 :(得分:2)
也许是';'在:
if(p == null);
答案 4 :(得分:1)
删除if后面的分号
答案 5 :(得分:1)
你在哪里实例化ListNode K?
我觉得问题是ListNode k没有被实例化。
我认为你需要这样的东西。 ListNode k = new ListNode();
你是否在班上创造了这个?
你也有; if之后(p == null);这需要删除。