【发布时间】:2018-09-06 12:22:43
【问题描述】:
public class Die {
public static void main(String[] args) {
Random r = new Random();
int dieOne=0, dieTwo=0, dieThree=0, dieFour=0, dieFive=0, dieSix=0;
Scanner input = new Scanner(System.in);
System.out.println("How many times would you like the die to roll?: ");
int numRoll = input.nextInt();
for (int i=0; i < numRoll; i++) {
int rNum=r.nextInt(6)+1;
if (rNum==1); {
dieOne++;
}
if (rNum==2); {
dieTwo++;
}
if (rNum==3); {
dieThree++;
}
if (rNum==4); {
dieFour++;
}
if (rNum==5); {
dieFive++;
}
if (rNum==6); {
dieSix++;
}
System.out.println("Number:" + rNum);
}
System.out.println("'1' was rolled:" + dieOne + "times.");
System.out.println("'2' was rolled:" + dieTwo + "times.");
System.out.println("'3' was rolled:" + dieThree + "times.");
System.out.println("'4' was rolled:" + dieFour + "times.");
System.out.println("'5' was rolled:" + dieFive + "times.");
System.out.println("'6' was rolled:" + dieSix + "times.");
}
}
所以如果我运行程序并输入 2。我会得到这个:
Number:6
Number:3
'1' was rolled:2times.
'2' was rolled:2times.
'3' was rolled:2times.
'4' was rolled:2times.
'5' was rolled:2times.
'6' was rolled:2times.
但我想要的输出是这样的:
Number:6
Number:3
'1' was rolled:0times.
'2' was rolled:0times.
'3' was rolled:1times.
'4' was rolled:0times.
'5' was rolled:0times.
'6' was rolled:1times.
用同样的方法解决这个问题的方法是什么?
【问题讨论】:
-
在
if条件之后丢失那些分号。 -
非常感谢,我不知道我怎么没注意到。
-
你了解数组了吗?
-
在这种情况下,我宁愿选择
switch而不是if。 -
@msagala25 数组会更简洁,更容易为 D&D 玩家扩展或泛化。