有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java数学。random打印出10个随机整数,但它们都是相同的数字?

在下面的程序中,用户会被问及他希望从哪个数字范围生成10个随机数,然而,一旦用户输入他的选择,打印的数字都是相同的

import java.io.*;

public class RandomInt
{
    public static void main (String [] args) throws IOException
    {
        String inGuess;
        int theGuessInt = 0;
        int theNum;
        int theNum2;
        BufferedReader myInput = new BufferedReader (new InputStreamReader (
                System.in));
        System.out
                .println ("Hello this program generates random numbers from 0-10 or 20-30");
        System.out
                .println ("Please input '1' for the random generation of 0-10, or '2' for the generation of 20-30");
        inGuess = myInput.readLine ();
        theGuessInt = Integer.parseInt (inGuess);
        // Generate random numbers from 0 to 10
        theNum = (int) (Math.random () * 10 - 0) + 0;
        // Generate random numbers from 20 to 30
        theNum2 = (int) (Math.random () * 30 - 20) + 20;
        if (theGuessInt == 1)
        {
            System.out
                    .println (" You chose to generate ten random numbers from 0-10");
            System.out.println (" Please wait....(Press any key to con't)");
            inGuess = myInput.readLine ();
            System.out.println (theNum);
            System.out.println (theNum);
            System.out.println (theNum);
            System.out.println (theNum);
            System.out.println (theNum);
            System.out.println (theNum);
            System.out.println (theNum);
            System.out.println (theNum);
            System.out.println (theNum);
            System.out.println (theNum);
        }
        if (theGuessInt == 2)
        {
            System.out
                    .println (" You chose to generate ten random numbers from 20-30");
            System.out.println (" Please wait....(Press any key to con't)");
            inGuess = myInput.readLine ();
            System.out.println (theNum2);
            System.out.println (theNum2);
            System.out.println (theNum2);
            System.out.println (theNum2);
            System.out.println (theNum2);
            System.out.println (theNum2);
            System.out.println (theNum2);
            System.out.println (theNum2);
            System.out.println (theNum2);
            System.out.println (theNum2);
        }
    }
}

共 (1) 个答案

  1. # 1 楼答案

    你在做:

    System.out.println(theNum);
    System.out.println(theNum);
    System.out.println(theNum);
    System.out.println(theNum);
    System.out.println(theNum);
    System.out.println(theNum);
    System.out.println(theNum);
    System.out.println(theNum);
    System.out.println(theNum);
    

    这个数字打印了十次。您需要在每个println()之前分配给theNum,或者将数字存储在数组中并在循环中打印出来