我使用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);
}
}
答案 0 :(得分:3)
我个人更喜欢使用Random
类及其Random#nextInt(int)
方法。
我不仅发现它更优雅(并且避免了转换),我还发现能够使用我创建的相同Random
对象并种植其种子(使用构造函数{{3})非常有用因为它在以后尝试重现某些意外行为时会让生活变得更加容易。