您的位置:首页 > 职场人生

黑马程序员—学习笔记3—经典的丢手绢程序

2015-08-23 21:44 323 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
刚接触这个程序时自学java不久,听得一头雾水.现在总结了这个程序里的主要的知识点:要想实现把现实中的具体人物在程序中删除时,只要在程序中不要把任何引用指向这个程序中的对象即可,java自带的垃圾回收机制会把这个对象在内存中占用的空间回收清空掉。还有就是创建一个对象时,可以创建含有两个指针的对象,用以模拟现实围着一圈的人。代码如
</pre><pre name="code" class="java">
//丢手绢package 第一个工程;public class Hello {public static void main(String[] args) {CycleLink cycleLink1=new  CycleLink ();cycleLink1.setlen(5);cycleLink1.creatlink();cycleLink1.show();cycleLink1.getk(2);cycleLink1.getm(2);cycleLink1.play();}}class Child{int number;public Child(int number){this.number=number;}Child nextChild=null;}class CycleLink{Child firstChild=null;Child paotui=null;Child paotui2=null;int len;int k;int m;public void setlen(int len){this.len=len;}public void getk(int k){this.k=k;}public void getm(int m){this.m=m;}//初始化链表public void creatlink(){for(int i=1;i<=len;i++){if(i==1){Child ch=new Child(i);this.firstChild=ch;this.paotui=ch;}else{if(i==len){Child ch=new Child(i);paotui.nextChild=ch;paotui=ch;paotui.nextChild=firstChild;}else{Child ch=new Child(i);paotui.nextChild=ch;paotui=ch;}}}}//开始游戏public void play(){paotui=firstChild;for(int i=1;i<k;i++){paotui=paotui.nextChild;}while(len!=1){for(int j=1;j<m;j++){paotui=paotui.nextChild;}paotui2=paotui;while(paotui2.nextChild!=paotui){paotui2=paotui2.nextChild;}paotui2.nextChild=paotui.nextChild;paotui=paotui.nextChild;this.len--;}System.out.println("最后一个出局的是:"+paotui.number);}public void show(){paotui=this.firstChild;do {System.out.println(paotui.number);paotui=paotui.nextChild;}while(paotui!=this.firstChild);}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: