【问题标题】:Using math.random to generate a certain amount of random numbers in javajava中使用math.random生成一定数量的随机数
【发布时间】:2016-07-31 17:41:45
【问题描述】:

我需要帮助在 java 中编写一个程序,让您在 textField 中编写一个数字,然后使用 i = (int) (Math.random() * 10.0) 生成从 0 到 9 的随机数。例如,如果我在 textField 中写入 5,程序将生成 5 个从 0 到 9 的随机数。

谢谢

【问题讨论】:

  • Java != JavaScript - 请说明您选择的语言 - 然后阅读我们的 How to Ask 页面以改进您的问题
  • 你做过什么了吗?
  • 1.这个问题太简单了。 2. Java 还是 javaScript?

标签: java random


【解决方案1】:
int x = value entered in textfield;
int generatedRandomNumber = 0;
java.util.Random rand = new java.util.Random();
for(int i=0 ; i<x ; i++) {
    generatedRandomNumber=rand.nextInt(10);//here you have your random number, do whatever you want....
}

【讨论】:

  • 修正你的缩进——它会让你的代码更容易阅读。另外,不要让你的行超过 80 列 - 只需将评论放在另一行
【解决方案2】:

好的,既然您想使用 Math.random() 方法,请尝试以下操作:

    int times = 5;//how many numbers to output

    for(int i = 0; i < times; i++)
    {
        System.out.println((int)(Math.random()*10));
        //you must cast the output of Math.random() to int since it returns double values
    }

我乘以 10,因为 Math.random() 返回的值大于或等于 0.0 且小于 1.0。

【讨论】:

  • 把你的循环改成i &lt; times——你现在打印了6个数字
  • 我只是给出了一个示例值,我从未说过它会打印五个数字。无论如何,我改变了它以防止未来的混乱谢谢你指出来。
【解决方案3】:

使用新的 Java 8 流 API:

int n = Integer.parseInt(myTextField.getText());
int[] random = ThreadLocalRandom.current().ints(0, 10).limit(n).toArray();
  • 使用当前线程本地随机(建议创建一个新的Random实例)
  • 在 [0..10) -> 0..9 范围内创建随机整数流
  • 在生成 n 个数字后流终止
  • 流结果被收集并作为数组返回

【讨论】:

    猜你喜欢
    • 2019-07-27
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    相关资源
    最近更新 更多