【问题标题】:Generating 10 random numbers in a for loop between 1 and 50 in java在java中的1到50之间的for循环中生成10个随机数
【发布时间】:2019-02-17 16:51:50
【问题描述】:

我需要用 Java 创建一个程序,它生成 10 个介于 1 到 50 之间的随机数,并使用 for 循环输出它们。我已经想出了如何生成随机数,但无法弄清楚如何使用 for 循环来做到这一点。请帮忙!

import java.util.Random;
class RandomNumbers
{
public static void main (String [] args)
{
int random = (int)(Math.random()* (50 + 1));
System.out.println (random);
}
}

【问题讨论】:

  • 您是否尝试过创建循环?你有什么问题?
  • 我还想指出,导入java.util.Random并不是访问Math.random()所必需的,所以不妨去掉它。

标签: java for-loop random


【解决方案1】:

只需将代码放在这样的 for 循环中:

for(int i=0;i<10;i++){
  int random = (int)(Math.random()* (50 + 1));
  System.out.println (random);
}

【讨论】:

  • 非常感谢!我以为我早些时候尝试过,但我想我做错了!这个愚蠢的问题让我发疯的时间比它应该的要长。
【解决方案2】:

您正在成功创建一个随机数。您只需循环 10 次即可获得 10 个不同的数字。

import java.util.Random;
class RandomNumbers {
    public static void main (String [] args)
    {
        for (int i=0; i<10;i++){
            int random = (int)(Math.random()* (50 + 1));
            System.out.println (random);
    }
}

【讨论】:

    【解决方案3】:

    使用for循环循环10次,每次生成一个新数字并打印出来:

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            int random = (int)(Math.random() * (50 + 1));
            System.out.println(random);
        }
    }
    

    【讨论】:

      【解决方案4】:

      不是在 for 循环中,而是使用 Random

      Random r = new Random();
      long[] longs = r.longs(1, 50).limit(10).toArray();
      Arrays.stream(longs).forEach(System.out::println);
      

      1 包括在内,50 在这种情况下不包括在内。

      【讨论】:

        【解决方案5】:

        将随机生成的数字和 println 嵌套在 for 循环中。

        import java.util.Random;
        
        class RandomNumbers
        {
          public static void main (String[] args)
          {
            for (int i = 1 ; i <= 10 ; i++)
            {
              int random = (int) (Math.random () * (50 + 1));
              if (i < 10)
              {
                System.out.print (random + ", ");
              }
              else
              {
                System.out.print (random);
              }
            }
          }
        }
        

        关于我所做的更改的注释: println 更改为 print 以便所有十个数字都输出在同一行,添加了 if/else 语句用于输出格式 p>

        您的输出应如下所示:

        35、27、39、19、7、48、19、27、8、38

        【讨论】:

          猜你喜欢
          • 2013-12-21
          • 2013-07-24
          • 2013-10-11
          • 1970-01-01
          • 2014-12-09
          • 1970-01-01
          • 1970-01-01
          • 2011-08-10
          相关资源
          最近更新 更多