2016-04-10 11 views
-1

Bir Huffman kod programı yazıyorum ve bir bit değerler dizisini (0 veya 1) temsil eden StringOfBits adlı bir sınıf oluşturmam gerekiyor. Uzunluk metodu ve ek metotlarla ilgili yardıma ihtiyacım var. Her yöntemde parametreleri nasıl ekleyeceğimi bilmiyorum. İşte benim kodum http://pastebin.com/aEJDNSKS. Herhangi bir yardım büyük takdir edilecektir.Huffman kod projemde bir sorun bana sorun çıkarıyor

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

Her zaman sorunuzu içine kod ekleyin - bazı "pastebin" bağlantı yok. Bir süre sonra gitmiş olacak, soruyu işe yaramaz hale getirecek. – laune

cevap

0

StringOfBits sınıfındaki StringOfBits sınıfının sb'si size yardımcı olmayacaktır. Bunu zaten uyguladığınızı varsayarak bu sınıfı uygulamaya çalışıyorsunuz. Bu alanı kaldırın ve karakterleri saklamak için bazı sınıflara (CharSequence değil, bir arabirime) karar verin. Daha sonra, tüm yöntemleri uygulamak için bu sınıfın işlemlerini kullanın.

Bu görevi tamamlamak için gereken her şey. StringBuilder için javadoc'a bakarak ve yazmak zorunda olduğunuz yöntemde kullanılacak yöntemi seçerek gerekli tüm kurucuları ve yöntemleri doldurun. aşırı yöntemleri için

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

setBitAt: yapmak, yani bool dönüştürmek, başkalarından char birini kullanmak için emin '0' da (yanlış) ve '1' (doğru) ve 0 int ve 1, ve yöntemi arg argümanıyla çağır.