簡體   English   中英

根據用戶輸入的最大值和最小值在 java 中生成隨機數

[英]Generating a random number in java based on user inputs for max and min

我在嘗試用用戶定義的最大值和最小值生成一組隨機數字時遇到了一些麻煩,我是編程新手,對我的代碼感到有點迷茫

int upperRange;
int lowerRange;
Random random = new Random(int)(Math.random()*(upperRange - (lowerRange-1)))+lowerRange;

Scanner keyboard = new Scanner(System.in);


{

System.out.println("Enter upper limit number ");
upperRange = keyboard.nextInt();
System.out.println("Enter lower limit number");
lowerRange = keyboard.nextInt();

任何幫助,將不勝感激

其中 r 是 class Random 的一個實例,x 和 y 是正整數,

r.nextInt(y - x) + x

應該做你想做的。 它會給你一個 integer 在 x(包括)到 y(不包括)的范圍內。

嘗試這個:

public class TestRandomBounds {

    public static void main(String[] args) {

        int upperBound = 100;
        int lowerBound = 50;

        Random random = new Random();
        System.out.println(lowerBound + random.nextInt(upperBound - lowerBound));

     }
}

一旦定義了隨機邊界,您只需要生成一個將駐留在這些邊界內的隨機數。

你的代碼可以這樣寫:

import java.util.*;

public class RandGuess
{
    public static void main ( String[] args )
    {
        int upperRange;
        int lowerRange;
        Random random;
        int randomFromUserLimits;

        Scanner keyboard = new Scanner(System.in);

        System.out.print("Enter upper limit number: ");
        upperRange = keyboard.nextInt();
        System.out.print("Enter lower limit number: ");
        lowerRange = keyboard.nextInt();
        random = new Random();
        randomFromUserLimits = random.nextInt(upperRange-lowerRange) + lowerRange;
        System.out.println("A random number between " + lowerRange + " and " + upperRange + " = " + randomFromUserLimits);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM