-1

コメントを参照してください。

どうやらそれはクライアントだけではありません。作成したメソッドをまったく呼び出すことができません。私の課題では、これらのメソッドをクラスで作成し、クライアントに実装することになっています。初期クラス内でメソッドを呼び出すことさえできません。理由がわからない。

import 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()する必要があります。オブジェクトが を参照していることに注意してください。Incoll5PLinkedList

また、Intcoll5クラスのコンストラクターは、パラメーターを使用しないため、私にはかなり奇妙に思えiます。次のように変更します。

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