-1

让它工作,见评论。

显然,这不仅仅是在客户端。我根本无法调用我创建的任何方法。对于我的任务,我应该在一个类中创建这些方法,然后在客户端中实现它们。我什至不能调用初始类中的方法。不知道为什么。

导入 java.util.*;

public class Driver5
{
  public static final int SENTINEL = 0;

  public static void main(String[] args)
  {
    int value = 1;

    Scanner keyboard = new Scanner(System.in);
    LinkedList<Intcoll5> P = new LinkedList<Intcoll5>();

    while(value != SENTINEL)
    {
      if (value > 0)
      {
        P.**insert**(value);
      }
    }
  }
}

仍在研究一些方法,只是试图调用 insert()

import java.util.LinkedList;
import java.util.*;

public class Intcoll5
{

  LinkedList<Integer> c = new LinkedList<Integer>();
  ListIterator<Integer> I = c.listIterator();

  public Intcoll5(int i)
  {
    c = new LinkedList<Integer>();
  }

  public void insert(int i)
  {
    Integer I = new Integer(i);
    if (!c.contains(I))
    {
      c.addFirst(I);
    }
  }

  public void copy(Intcoll5 obj)
  {

    while (I.hasNext())
    {
    }
  }

  public boolean belongs(Integer i)
  {
    return true;
  }

  public void omit(Integer i)
  {
    if (c.contains(i))
    {
      c.remove(i);
    }
  }

  public int get_howmany()
  {
    int i = 0;
    while (I.hasNext())
    {
      i++;
    }
    return i;
  }

  public void print()
  {
    while (I.hasNext())
    {
      Integer n = I.next();
      System.out.println(n.intValue());
    }
  }

  public boolean equals(Intcoll5 obj)
  {
    return true;
  }
}

只是“插入”在客户端下划线,错误是:“找不到符号”。

4

1 回答 1

1

类中没有insert方法LinkedList

只需使用add.

if (value > 0) {
   Intcoll5 object = new Intcall5();
   object.insert(value);
   P.add(object);
}

我相信您正在尝试调用该Intcoll5#insert()方法,但为此您需要引用该类的一个实例Incoll5。请注意,您的P对象指的是LinkedList.

此外,Intcoll5该类的构造函数对我来说似乎很奇怪,因为它不使用它的i参数。将其更改为:

public Intcoll5()
{
   c = new LinkedList<Integer>();
}
于 2013-09-22T22:44:20.090 回答