Java中的随机整数

时间:2014-10-11 14:18:38

标签: java

这是我得到的问题。 输入2整数(x和y)并在x和y之间打印随机整数。 我想知道为什么我的代码不打印随机整数。 我仍然是java的初学者,任何帮助都会很好。谢谢。

import java.util.*;
class Random_integer {
    public static void main(String[] args) {
        Random randomNum = new Random();
        Scanner input = new Scanner(System.in);
        int integer1, integer2;
        System.out.print("Enter two integer : \n ");
        System.out.print("\n Integer 1 : ");
        integer1 = input.nextInt();
        System.out.print("\n Integer 2 :");
        integer2 = input.nextInt();
        randomNum = new Random(integer1, integer2);
        System.out.print("\n Random number : " +randomNum);
    }
}

4 个答案:

答案 0 :(得分:1)

java.util.Random是用于生成随机数的类。构造函数不会将最小值和最大值作为参数,但nextInt()方法可以执行您想要的操作:

randomNum = new Random();
System.out.println("Random number: " + random.nextInt(integer1, integer2));

答案 1 :(得分:1)

您正在错误地调用Random构造函数,Random(integer1, integer2)将无法编译,因为Random没有带有两个整数参数的构造函数。

如果要在范围内创建随机数,请使用:

int rand = randomNum.nextInt((integer2 - integer1) + 1) + integer1

答案 2 :(得分:1)

尝试以下代码。 randomize(int x, int y)中的参数x是最小数量 并且y是最大数量。

import java.util.*;

class Random_integer
{
    public static void main(String[] args){
        int integer1, integer2;
        Scanner input = new Scanner(System.in); 
        System.out.print("Enter two integer : \n ");
        System.out.print("\n Integer 1 : ");
        integer1 = input.nextInt();
        System.out.print("\n Integer 2 :");
        integer2 = input.nextInt();

        Random_integer ri = new Random_integer();
        ri.randomize(integer1,integer2);
    }

    public void randomize (int x,int y) {
        Random randomNum = new Random();
        int rand = randomNum.nextInt((y-x)+1)+x;
        System.out.print("\n Random number : " +rand);
    }
}

答案 3 :(得分:0)

java.util.Random是随机数生成器,而不是数字。您可以使用生成一个随机整数,如下所示:

Randrom rand = new Random();
int randomNum = x + rand.nextInt(y - x + 1);