首页 > 解决方案 > 我怎样才能使它每次打印时都会更改随机数?

问题描述

编写代码要求用户输入一个正整数 n,然后使用 打印从 1 到 n 的 10 个随机整数Math.random()

我如何使它每次输出都不同?到目前为止,第一个输出之后的每个输出都完全相同。

/* Lesson 8 Coding Activity Question 1 */

import java.util.Scanner;
import edhesive.testing.Math;

public class U2_L8_Activity_One{
  public static void main(String[] args){

    /* Write your code here */
  Scanner scan = new Scanner(System.in);
  
  System.out.println("Enter a positive integer.");
  int n = scan.nextInt();

  double ran = Math.random();
  int range = n;
  int min = 1;
  int answer = (int) (ran * range) + min;
  
  System.out.println("Printing 10 random integers from 1 to n...");
  System.out.println(answer);
  System.out.println(answer);
  System.out.println(answer);
  System.out.println(answer);
  System.out.println(answer);
  System.out.println(answer);
  System.out.println(answer);
  System.out.println(answer);
  System.out.println(answer);
  System.out.println(answer);
  }
}

标签: javarandom

解决方案


您正确生成了一个随机数,但随后只需将其打印十次即可。如果您想要十个不同的号码,则每次都需要重新生成号码。例如:

for (int i = 0; i < 10; ++i) {
    double ran = Math.random();
    int answer = (int) (ran * range) + min;
    System.out.println(answer);
}

推荐阅读