我需要创建一个莫西字母表,并必须插入到一个BinaryTree。我需要创建isLess和isGreater方法。这就像我开始:
public boolean isLess(Buchstabe a) {
if (a != null) {
if (!a.isEqual(this)) {
String aCode = a.getCode();
if (aCode.compareTo(this.getCode()) > 0)
return true;
else
return false;
}
else
return false;
}
else
return false;
}
public boolean isGreater(Buchstabe a) {
if (!a.isEqual(this)) {
String aCode = a.getCode();
if (aCode.compareTo(this.getCode()) > 0)
return false;
else
return true;
}
else
return false;
}所以语法应该是。一定比.小。和-可以作为字符串来处理,所以您应该能够比较"."和"-.--",其中"."应该小于"-.--" --我的解决方案给了我完全的废话。你有什么解决办法吗?
发布于 2015-04-08 14:12:05
您不需要重新创建方向盘,因为如果参数在字典上等于此字符串,则compareTo()方法将返回0;如果参数在字典上大于此字符串,则返回小于0的值;如果参数在字典上小于此字符串,则返回大于0的值。所以你不需要用你自己的方法
假设您的getCode()方法获得了正确的代码,我将这样做
String aCode = a.getCode();
int code = aCode.compareTo(this.getCode())
if (code == 0){
// they are equal
}
if (code < 0){
// aCode is greater than this.getCode
}
if (code > 0){
// aCode is less than this.getCode
}发布于 2015-04-08 14:03:39
".".compareTo("-")给了我1,所以在"."中"."被认为比"-"更大。
很明显,
if(aCode.compareTo(this.getCode())>0)
return false;如果aCode大于this.getCode(),则返回false,后者是您想要的选项。在您的返回中交换true和false应该可以做到这一点。
https://stackoverflow.com/questions/29516470
复制相似问题