Java 如何获得特定范围内的随机数

Java 如何获得特定范围内的随机数,java,math,random,int,Java,Math,Random,Int,我知道它被问了很多次,但所有的问题都夹杂着另一个让人难以理解的问题。但是我想用Math.random得到一个0-10的随机数 事实上,随机数将用作列表的索引号 到目前为止我所做的: int random = Math.random(0,9); // Obviously does not work 不要使用Math.random()而是使用random\nextInt(): int myInt=new Random().nextInt(11); 或者,根据评论,使用 Random r=new

我知道它被问了很多次,但所有的问题都夹杂着另一个让人难以理解的问题。但是我想用Math.random得到一个0-10的随机数

事实上,随机数将用作列表的索引号

到目前为止我所做的:

int random = Math.random(0,9); // Obviously does not work 

不要使用
Math.random()
而是使用
random\nextInt()

int myInt=new Random().nextInt(11);
或者,根据评论,使用

Random r=new Random();
int myInt=r.nextInt(11);

然后根据需要重新使用
r

您可以创建一个
随机
对象并调用以获取介于0和输入号码之间的
int
(独占)

返回0到0之间的伪随机、均匀分布的int值 (含)和规定值(不含)


要从任何java.util.List(使用泛型)中获取随机项,我得到:

警告:未测试以下代码

package forums;

import java.util.List;
import java.util.Random;

public final class ListHelper<T>
{
    private static final Random RANDOM = new Random();

    public T getRandom(List<T> list) {
        return list.get(RANDOM.nextInt(list.size()));
    }
}

干杯。Keith.

注意:实际上,没有必要在每次获得随机值时都获得一个新的Random实例。。。它可能导致“毫无意义的过度垃圾”。只是说,不只是“不需要”,这样做是绝对错误的。如果你为每次通话重新创建对象,你的号码将不会是随机的。这不是一个坏问题。。。只是被问了太多次。。。主要是因为API让人困惑,因为数学暴露了一个生成随机数的部分解决方案,noobs(包括我自己)发现了这个问题,因此停止寻找这个问题的好解决方案。。。所以他们一次又一次地问专家。责怪高薪的API专家设计师,而不是noob!创建随机对象并仅从中获取一个数字不会生成真正的随机数字。@LeedianielCrocker如果只生成一个数字,则应该足够了。
package forums;

import java.util.List;
import java.util.Random;

public final class ListHelper<T>
{
    private static final Random RANDOM = new Random();

    public T getRandom(List<T> list) {
        return list.get(RANDOM.nextInt(list.size()));
    }
}
package forums;

import java.util.List;
import java.util.Random;

public final class Lists
{
    private static final Random RANDOM = new Random();

    public static Object getRandom(List list) {
        return list.get(RANDOM.nextInt(list.size()));
    }
}