好吧,所以我被分配製作了一個骰子程序,可以調用擲骰子並返回它所在的一面。我得到了Dice的一部分。但是,當我運行我的程序時,如果兩個die等於6
,則我的if
語句不會執行以增加Counter
。我的程序出了什麼問題。爲什麼我的字符串不能比較?
這是主要的:
public class PairOfDice {
public static void main(String[] args) {
int Counter = 0;
Dice D1 = new Dice();
Dice D2 = new Dice();
for (int X = 0; X <= 1000; X++)
{
D1.Roll();
D2.Roll();
if (D1.equals(6) && D2.equals(6))
{
Counter++;
}
else
{
System.out.print ("Dice 1 = " + D1 + " | ");
System.out.println ("Dice 2 = " + D2);
}
}
System.out.print ("There were " + Counter + " Box Cars");
}
}
這是我的骰子功能:
public class Dice {
private int Side;
public Dice()
{
Roll();
}
public void Roll()
{
Side = (int)(Math.random() * 6 + 1);
}
public String toString()
{
String A;
A = Integer.toString(Side);
return A;
}
}
爲什麼他們會嗎?你認爲'D1.equals(6)'有什麼作用?你爲什麼這麼認爲? –
變量名稱不應以大寫字符開頭。 – camickr
和你的'骰子'是一個類不是一個功能 –