| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 762 人关注过本帖
标题:linked list程序需要帮忙改一下错误
只看楼主 加入收藏
suckdog
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-9-19
结帖率:41.67%
收藏
 问题点数:0 回复次数:4 
linked list程序需要帮忙改一下错误
这个程序就是要用户输入一个数字,然后用linked list加进去, 第一个method,add是加一个数字, 第二个是一次加4个数字, 我刚刚接触linked list, 还不太清楚怎么写, 我是看着书这么写出来的,但是在编译的时候总是出错,说我的constructor有问题, 懂的人帮我改一改,谢谢了  (还有一个小问题, 在我add method之前的那些东西有必要吗? 还是直接可以删了)
public class ILS
{
    private int data;
    private ILS head;
    private int n;

    /*public ILS()                               //出错的地方
    {
       data = 0;
      
    }*/
    public int getData()
    {
       return data;
    }
    public ILS getNext()
    {
       return head;
    }
    public void setData(int data)
    {
       this.data = data;
    }
    public void setNext(ILS next)
    {
       head = next;
    }
   
    public void add(int number)
    {
       head=new ILS(number, head);
        n++;
    }
   
    public void add(int number1, int number2, int number3, int number4)
    {
       head=new ILS(number1, head);
        n++;
        head=new ILS(number2, head);
        n++;
      head=new ILS(number3, head);
        n++;
        head=new ILS(number4, head);
        n++;
    }
   
    /*public void clear()
    {
      
    } */
   
    public String toString()
    {
        ILS temp=head;
        String str="[ ";
        while(temp!=null)
        {
            str+=temp.getData()+" ";
            temp=temp.getNext();
        }
        return str+" ]";
   }
  
}
搜索更多相关主题的帖子: list linked 
2010-10-20 07:12
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:0 
构造函数带有2个参数。
程序代码:
public class ILS {
    private int data;
    private ILS head;
    private int n;

    public ILS(int data, ILS head) {
        this.data = data;
        this.head = head;
    }

    public int getData() {
        return data;
    }

    public ILS getNext() {
        return head;
    }

    public void setData(int data) {
        this.data = data;
    }

    public void setNext(ILS next) {
        head = next;
    }

    public void add(int number) {
        head = new ILS(number, head);
        n++;
    }

    public void add(int number1, int number2, int number3, int number4) {
        head = new ILS(number1, head);
        n++;
        head = new ILS(number2, head);
        n++;
        head = new ILS(number3, head);
        n++;
        head = new ILS(number4, head);
        n++;
    }

    /*
     * public void clear()
     * {
     * }
     */

    public String toString() {
        ILS temp = head;
        String str = "[ ";
        while (temp != null) {
            str += temp.getData() + " ";
            temp = temp.getNext();
        }
        return str + " ]";
    }

}
2010-10-20 09:18
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:0 
add method之前的那些东西有必要吗?

有必要,因为在其他程序访问该类的成员变量时需要。get和set方法其实是javabean的一个标准写法。建议楼主多写写程序,多看看书
2010-10-20 09:20
suckdog
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-9-19
收藏
得分:0 
public ILS(int data, ILS head) {
        this.data = data;
        this.head = head;
    }

按照你的这种constructor写法的话, 我在test driver里如何开始呢?  ILS a=new ILS(? ?), 第一个是输入数字我知道,但是head我应该填写什么呢? null?

还有如果要清空一个linked list, 看看我的method clear应该怎么改
2010-10-20 11:02
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:0 
你的程序里,head是头节点的意思,每次新加一个节点,就是在头节点之前加进去的。
刚开始,head赋值为null。
clear方法只需
public void clear()
{
    head = null;
}
2010-10-20 15:31
快速回复:linked list程序需要帮忙改一下错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017158 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved