【发布时间】:2013-02-28 21:50:59
【问题描述】:
我尝试使用 try-catch 块来捕获 NullPointerException,但以下程序仍然出现错误。我做错了什么还是有任何其他方法可以在以下程序中捕获NullPointerException。非常感谢任何帮助。
public class Circular_or_not
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
try
{
LinkedListNode[] nodes = new LinkedListNode[10];
for (int i = 0; i < 10; i++)
{
nodes[i] = new LinkedListNode(i, null, i > 0 ? nodes[i - 1] : null);
}
// Create loop;
// nodes[9].next = nodes[3];
Boolean abc= Check_Circular(nodes[0]);
System.out.print(abc);
}
catch(NullPointerException e)
{
System.out.print("NullPointerException caught");
}
}
public static boolean Check_Circular(LinkedListNode head)
{
LinkedListNode n1 = head;
LinkedListNode n2 = head;
// Find meeting point
while (n2.next != null)
{
n1 = n1.next;
n2 = n2.next.next;
if (n1 == n2)
{
return true;
}
}
return false;
}
}
【问题讨论】:
-
“给出错误”...您肯定可以比这更具体吗?
-
不清楚你如何使用 LinkedListNode 类。例如,像这样的类是 org.jivesoftware.util.LinkedListNode。
-
只是一个编码建议。命名类和方法时尽量遵循约定。