Java 掷骰子代码以供审查

标签 java arrays

我使用 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/

相关文章:

java - 学习 Java EE 及相关技术的路线?

java - 如何按类别查找书籍?

java - 将二维数组添加到一维数组

arrays - 如何将 *big.Int 转换为 golang 中的字节数组

javascript - Express 路由器回调中 Array.includes() 始终为 false,Array.indexOf() 始终为 -1 且 Array.find() 始终未定义

java - 静态方法 vs 非静态方法 java 更好的理解

java - 检查 NullPointerException、正确性或个人信仰?

java - 客户端-服务器处理错误

python - numpy 替代插入的向量化实现

javascript - 如何将 td 插入数组 es6 Reactjs