有 Java 编程相关的问题?

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

基于用户输入的max和min生成java中的随机数

我在尝试用用户定义的max和min生成一组radom数字时遇到了一点麻烦,我对编程是新手,对我的代码感到有点迷茫

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();

任何帮助都将不胜感激


共 (3) 个答案

  1. # 1 楼答案

    其中r是Random类的实例,x和y是正整数

    r.nextInt(y - x) + x
    

    你应该做你想做的。它将为您提供一个范围为x(包含)到y(独占)的整数

  2. # 2 楼答案

    试试这个:

    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));
    
         }
    }
    

    一旦定义了随机边界,您只需要生成一个将驻留在这些边界内的随机数

  3. # 3 楼答案

    您的代码可以这样编写:

    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);
        }
    
    }