我知道这个问题有很多答案,但我仍然遇到这个问题。我理解A>的想法B,B> C,所以A> C和我相信我所做的事情能够完美地运作。
public int compareTo(Snake snake) {
double other=snake.testFitness();
double tFit = this.testFitness();
if(tFit < other)
return 1;
else if(tFit > other)
return -1;
else
return 0;
}
我不明白这么简单的事情是如何违反一般合同的。
编辑:对于那些要求testFitness()函数的人。
public double testFitness() {
fit += ((this.length - 3)*2);
fit -= this.blocksTraveled*3;
return fit;
}