1 回答

TA贡献1829条经验 获得超13个赞
您在 CompareTo 中缺少返回语句。我在下面评论了您的原件以及更正的版本。在比较 [2,1] 和 [1,2] 的情况下,x 值不匹配,但是当您点击 this.x.CompareTo 时,您实际上从未返回该比较,因此您的值比较返回。
你有:
public int CompareTo(Point that)
{
if(this.val == that.val) {
if(this.x == that.x) {
return this.y.CompareTo(that.y);
}
else {
//****MISSING RETURN STATEMENT -
//will return the val.ComapreTo statement after
//it leaves this block*****
this.x.CompareTo(that.x);
}
}
return val.CompareTo(that.val);
}
你需要:
public int CompareTo(Point that)
{
if(this.val == that.val) {
if(this.x == that.x) {
return this.y.CompareTo(that.y);
}
else {
return this.x.CompareTo(that.x);
}
}
return val.CompareTo(that.val);
}
- 1 回答
- 0 关注
- 129 浏览
添加回答
举报