2

私は周りを見回しましたが、適切な構文を持っているようです:

QueueOfChars queue = new QueueOfChars();
QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode();

ただし、作成しようとする charNode オブジェクトでコンパイル エラーが発生します。

Driver3.java:22: エラー: クラス
QueueOfChars.QueueOfCharsNode のコンストラクター QueueOfCharsNode は、特定の型に適用できません。
QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode();


必須: 文字
が見つかりました: 引数がありません
理由: 実引数リストと仮引数リストの長さが異なります
1 エラー

QueueOfCharsNode(char ch) があるため、このエラーが発生しています

public class QueueOfChars{

      public class QueueOfCharsNode{
         QueueOfCharsNode next;
         QueueOfCharsNode prev;
         char c;

         public QueueOfCharsNode(char ch){ //line causing the error
            c = ch; 
            next = prev = null;
         }

オブジェクトを作成しているときに「public class QueueOfCharsNode」行を読み取るにはどうすればよいですか?

4

2 に答える 2

5

引数のないコンストラクターがありません。

次のようにコンストラクター宣言が必要です。

public QueueOfCharsNode() { }

あなたのQueueOfCharsNodeクラスで。

于 2012-11-14T00:36:27.517 に答える
1
QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode();

内部クラス QueueOfCharsNode は、コンストラクターの引数として char を想定しています。試す

QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode('c');//some character that you wanna pass

または、内部クラスに引数なしのコンストラクターを作成します。

public UueueOfCharsNode() {

}

QueueOfChars.QueueOfCharsNode charNode = queue.new QueueOfCharsNode();

この場合は機能します

于 2012-11-14T00:37:45.697 に答える