码迷,mamicode.com
首页 > 编程语言 > 详细

Exception in thread "main" java.lang.Error: 无法解析的编译问题:

时间:2016-05-29 23:26:50      阅读:824      评论:0      收藏:0      [点我收藏+]

标签:thread   null   public   


public class Demo3 {

 public static void main(String[] args) {
 
  CycLink cyclink=new CycLink();
  CycLink.setLen(10);
  CycLink.CreateLink();
  CycLink.show();
     CycLink.setK(3);
  CycLink.setM(3);
  CycLink.play();
  
 }

}
class Child
{
 int no;
 Child nextChild=null;
 public Child(int no)
 {
  //给一个编号
  this.no=no;
 }

 
 
 
}
 //环形链表
class CycLink
 {
  //先定义一个指向链表第一个小孩的引用
  //指向第一个小孩的引用不能动
  Child firstChild=null;
  Child temp=null;
  //表示共有几个小孩
  int Len=0;
  int k=0;
  int m=0;
  //确定数数的步长m
  public void setM(int m)
  {
   this.m=m;
  }
  //设置链表大小
  public void setLen(int len)
  {
   this.Len=len;
  }
  //设置从第几个人开始数数
  public void setK(int k)
  {
   this.k=k;
  }
  //开始play
  public void play()
  {
   Child temp=this.firstChild;
   //先找到开始数数的人
   for(int i=1;i<k;i++)
   {
    temp=temp.nextChild;
   }
   while (this.Len!=1)
   {
    //2.数m下
    for (int j=1;j<m;j++)
    {
     temp=temp.nextChild;
    }
    //找到要出圈的前一个小孩
    Child temp2=temp;
    while(temp2.nextChild != temp)
    {
     temp2=temp2.nextChild;
    }
    //3.将数到的小孩退出圈
    temp2.nextChild=temp.nextChild;
    //让temp指向下一个数数的小孩
    temp=temp.nextChild;
    this.Len--;     
   }
   //最后一个小孩
   System.out.println("最后出圈的孩子是:"+temp.no);
  }
  //初始化环形链表
  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.Error: 无法解析的编译问题:

标签:thread   null   public   

原文地址:http://11154783.blog.51cto.com/11144783/1784275

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!