我使用 Eclipse 在 Java 中完成了以下小程序。 它只显示正在掷的两个骰子以及它们显示的数字(眼睛?)。
我可以不在 Math.random 行中使用强制转换吗?还是有一种完全不同(更好)的方法来做到这一点?
我是编程新手,所以请多多包涵(英语也不是我的母语。)
public class Meyer {
public static void main(String[] args) {
String [] die = {"1", "2", "3", "4", "5", "6"};
int roll = die.length;
int random1 = (int) (Math.random() * roll);
int random2 = (int) (Math.random() * roll);
String rollDice = die[random1] + " " + die[random2];
System.out.println("The roll is: " + rollDice);
}
}
最佳答案
我个人更喜欢使用 Random
类及其 Random#nextInt(int)
方法。
不仅我发现它更优雅(并且避免了强制转换),我还发现能够使用我创建并播种它的相同 Random
对象非常有用(使用构造函数 Random(long)
), 因为它让以后尝试重现一些意外行为时变得更容易。
关于Java 掷骰子代码以供审查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29273234/