2016-04-10 11 views
-1

私はハフマンコードプログラムを書いています。ビット値(0または1)の文字列を表すStringOfBitsというクラスを作成する必要があります。私は長さメソッドと追加メソッドの助けが必要です。私はどのように各メソッドのパラメータを追加するか分からない。私のコードはhttp://pastebin.com/aEJDNSKSです。どんな助けでも大歓迎です。私のハフマンコードプロジェクトのクラスは私にトラブルを引き起こしています

public class StringOfBits extends Object { 
    private StringOfBits sb; 
    private CharSequence chars; 
    public StringOfBits() { 
    this.sb = null; 
    this.chars = null; 
    } 
    public StringOfBits(StringOfBits sb){ 
    this.chars = null; 
    this.sb = sb; 
    } 
    public StringOfBits(CharSequence chars){ 
    this.sb = null; 
    this.chars = chars; 
    } 
    public StringOfBits append(int i) { 
    this.sb.append(i); 
    return sb; 
    } 
    public StringOfBits append(CharSequence str){ 
    this.sb.append(str); 
    return sb; 
    } 
    public StringOfBits append(StringOfBits bitstr){ 
    return this.sb.append(bitstr); 
    } 
    // ... more methods for char/int/boolAt, setCharAt 
} 
+0

質問には必ずコードを含めてください。 "pastebin"にリンクしないでください。それはしばらくしてから消えてしまい、問題は役に立たなくなる。 – laune

答えて

0

StringOfBitsクラスのStringOfBitsクラスのフィールドsbは役に立ちません。既に実装していると仮定して、そのクラスを実装しようとしています。このフィールドを削除し、文字を実際に格納するクラス(CharSequenceではなくインターフェイスではない)を決定します。次に、すべてのメソッドを実装するために、このクラスのオペレーションを使用します。

以下は、タスクを完了するために必要なものです。 StringBuilderのjavadocを見て必要なコンストラクタとメソッドをすべて記入し、作成するメソッドで使用するメソッドを選択します。オーバーロードされたメソッドについては

public class StringOfBits { 
    private StringBuilder sb; 
    public StringOfBits(){ 
     sb = new StringBuilder(); 
    } 
    ... 
} 

setBitAt:、(偽)「0」にブール値に変換する、すなわち、他の人からcharのいずれかを使用してくださいと「1」(真)とも0と1をint型char引数を使ってメソッドを呼び出します。