挿入ソートと選択ソートの両方を使用して入力値の配列をソートする割り当てが与えられました。私はcompareTo
メソッドをItem
クラスで上書きすることにいくつか問題があります。 2つの商品に同じ価格が設定されている場合は、Category
に基づいて比較するように並べ替えたいと思います。だから子供(C)の商品が最初に来て、次にMさん、次に女性が来ます。これは私のコードなので、コンパイルしようとするたびにdouble
を参照できないというエラーが表示されます。CompareToを使用して、配列内の文字列とdouble値の両方を比較しますか?
public int compareTo (Object other) {
int result;
double otherPrice = ((Item)other).getClothPrice();
String otherCategory = ((Item)other).getClothCategory();
if (clothPrice == otherPrice)
result = clothCategory.compareTo(otherCategory);
else
result = clothPrice.compareTo(otherPrice);
return result;
}
私は同等を追加し忘れた、私はちょうど= Double.compare(clothPrice 結果に他変更することで動作するようにコードを取得してしまったことをありがとうございました、 otherPrice);それは同じことを達成するでしょうか? –
@TommyHarveyはい、それは同じことを達成するでしょう。ほとんどの人が書いたようにコードを書き直しました。 – 4castle
ありがとう、私はクラスで与えられた例を外しています。おかげさまでありがとうございます –