我正在编写一个霍夫曼代码程序,我必须创建一个名为StringOfBits的类,它表示一串位值(0或1)。我需要有关length方法和append方法的帮助。我不知道如何在每个方法中附加参数。这是我的代码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 :(得分:0)
StringOfBits类中StringOfBits类的字段sb不会帮助您。您正在尝试通过假设您已经实现它来实现该类。删除此字段并确定实际存储字符的某个类(不是接口 - 而不是CharSequence)。然后,使用此类的操作来实现所有方法。
以下是完成任务所需的全部内容。继续并通过查看StringBuilder的javadoc并选择要在您必须编写的方法中使用的方法来填写所有必需的构造函数和方法。
public class StringOfBits {
private StringBuilder sb;
public StringOfBits(){
sb = new StringBuilder();
}
...
}
对于重载方法setBitAt:确保使用其他方法中的char,即将bool转换为' 0' 0 (假)和' 1' (true)以及int 0和1,并使用char参数调用该方法。