求解,一直报错:Exception in thread "main" java.lang.NullPointerException
这是我刚写的一个程序publicclassDemo4{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOA...
这是我刚写的一个程序
public class Demo4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CycLink cyclink=new CycLink();
cyclink.setLen(5);
cyclink.show();
}
}
class Child
{
int no=1;
Child nextChild=null;
public Child(int no)
{
//给一个编号
this.no=no;
}
}
//环形链表
class CycLink
{
//先定义一个指向链表第一个小孩的引用
//指向以一个小孩的引用 不能动
Child firstChild=null;
//创建一个游标
Child temp=null;
int len=0;//表示共有几个小孩,初始化为零
public void setLen(int len)
{
this.len=len;
}
//初始化环形链表
public void createLink()
{
for(int i=1;i<=len;i++)
{
if (i==1)
{
//创建第一个小孩
Child ch=new Child(i);
this.firstChild=ch;
this.temp=ch;
}
else if (i==len)
{
//创建最后一个小孩
Child ch=new Child(i);
temp.nextChild=ch;
temp=ch;
temp.nextChild=this.firstChild;
}
else
{
//继续创建小孩
Child ch=new Child(i);
temp.nextChild=ch;
temp=ch;
}
}
}
//打印该环形链表
public void show()
{
//定义一个跑龙套的
Child temp=this.firstChild;
do{
System.out.println(temp.no);
temp=temp.nextChild;
}while(temp!=this.firstChild);
}
}
报错内容:
Exception in thread "main" java.lang.NullPointerException
at com.wanpg.CycLink.show(Demo4.java:83)
at com.wanpg.Demo4.main(Demo4.java:16)
求高手指点... 展开
public class Demo4 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CycLink cyclink=new CycLink();
cyclink.setLen(5);
cyclink.show();
}
}
class Child
{
int no=1;
Child nextChild=null;
public Child(int no)
{
//给一个编号
this.no=no;
}
}
//环形链表
class CycLink
{
//先定义一个指向链表第一个小孩的引用
//指向以一个小孩的引用 不能动
Child firstChild=null;
//创建一个游标
Child temp=null;
int len=0;//表示共有几个小孩,初始化为零
public void setLen(int len)
{
this.len=len;
}
//初始化环形链表
public void createLink()
{
for(int i=1;i<=len;i++)
{
if (i==1)
{
//创建第一个小孩
Child ch=new Child(i);
this.firstChild=ch;
this.temp=ch;
}
else if (i==len)
{
//创建最后一个小孩
Child ch=new Child(i);
temp.nextChild=ch;
temp=ch;
temp.nextChild=this.firstChild;
}
else
{
//继续创建小孩
Child ch=new Child(i);
temp.nextChild=ch;
temp=ch;
}
}
}
//打印该环形链表
public void show()
{
//定义一个跑龙套的
Child temp=this.firstChild;
do{
System.out.println(temp.no);
temp=temp.nextChild;
}while(temp!=this.firstChild);
}
}
报错内容:
Exception in thread "main" java.lang.NullPointerException
at com.wanpg.CycLink.show(Demo4.java:83)
at com.wanpg.Demo4.main(Demo4.java:16)
求高手指点... 展开
4个回答
展开全部
刚才试了下,你的链表中 头结点为nul了, 因为 你没有调用你写的 public void createLink()
方法,导致没有形成链表;
CycLink cyclink=new CycLink();
cyclink.setLen(5);
cyclink.createLink(); // 调用一下这个就行了
cyclink.show();
方法,导致没有形成链表;
CycLink cyclink=new CycLink();
cyclink.setLen(5);
cyclink.createLink(); // 调用一下这个就行了
cyclink.show();
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空指针异常,有变量没有得到值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询