申し訳ありませんが、私の問題は、2番目と3番目のif文がスローアップしているということです。演算子 '<' 'は未定義です。2つのダイス2 Javaの問題
これは2つのint値でなければなりません。なぜなら、それが私の最後ではうまくいかない理由がわからないからです。ここでは、2つのコードは次のとおりです。
public class TwoDice2 {
public static void main(String[ ] args) {
Die firstDie = new Die();
Die secondDie = new Die();
if (firstDie == secondDie) {
System.out.println("First die is " + firstDie.getValue());
System.out.println("Next die is " + secondDie.getValue());
System.out.println("The two dice are the same!");
}
if (firstDie > secondDie) {
System.out.println("First die is " + firstDie.getValue());
System.out.println("Next die is " + secondDie.getValue());
System.out.println("Die One: " + firstDie + " is greater than Die Two: " + secondDie);
}
if (firstDie < secondDie) {
System.out.println("First die is " + firstDie.getValue());
System.out.println("Next die is " + secondDie.getValue());
System.out.println("Die One: " + firstDie + " is less than Die Two: " + secondDie);
}
}
}
そして:
public class Die {
private int value;
private static final int HIGHEST_DIE_VALUE = 6;
private static final int LOWEST_DIE_VALUE = 1;
public Die() {
value = ((int)(Math.random() * 100) % HIGHEST_DIE_VALUE + LOWEST_DIE_VALUE);
} public int getValue() { return value; } }
ダイはintではありません。あなたは 'firstDie.getValue()'とsecondDieと同じものを比較したいでしょう。また、参照平等をチェックするので '=='も失敗します。また、Dieクラスに適切な 'equals'メソッドと' hashCode'メソッドを与えない限り、equalsメソッドは失敗します。 * values *も比較しない限り。 –