好吧,所以我被分配制作了一个骰子程序,可以调用掷骰子并返回它所在的一面。我得到了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
和你的'骰子'是一个类不是一个功能 –