如何在每次使用java执行操作时运行新的随机nextInt?
所以我在做一个游戏(),每次我做这样的事情时,我都要做一个新的随机数,比如,抛一根钓竿,看看你要等多久。所以这就是我所拥有的,我相信应该有效的东西如何在每次使用java执行操作时运行新的随机nextInt?,java,random,game-engine,Java,Random,Game Engine,所以我在做一个游戏(),每次我做这样的事情时,我都要做一个新的随机数,比如,抛一根钓竿,看看你要等多久。所以这就是我所拥有的,我相信应该有效的东西 public int generateNewRandomNumber() { Random r = new Random(); int nextInt = r.nextInt(10000); return nextInt; } 我已经试着说了returnr.nextInt(10000)也不起作用。声明Random r=new
public int generateNewRandomNumber() {
Random r = new Random();
int nextInt = r.nextInt(10000);
return nextInt;
}
我已经试着说了
returnr.nextInt(10000)代码>也不起作用。声明Random r=new Random()代码>一次,静态。然后在需要的地方使用r
。不要继续重新创建新实例
把Random
对象想象成一口井——你挖了一口井,然后一直回到井里取水,你不会每次想喝水的时候都挖一口新井。如果你想要一个随机整数,比如
doSomething(randomNumberUpToConstant());
正确的方法是
public class EnclosingClass{
Random r = new Random();
final int MAX_RANDOM_VALUE = 10000;
public void myMethod(){
doSomething(r.nextInt(MAX_RANDOM_VALUE));
}
}
如果不工作,我认为你会出错。如果您没有添加import java.util.Random,就会出现这种情况代码>到文件的开头。另外,请注意,最好创建一次Random
。您的代码将如下所示:
import java.util.Random;
class SomeClass{
Random r;
public SomeClass(){
r = new Random();
}
public int getRandomNumber(){
return r.nextInt(10000); //numbers in the range [0,10000)
}
}
然而,创建这样一个类是没有意义的。我建议您在需要的地方使用一个Random
实例。要更快获得更好的帮助,请发布一个。为什么它不起作用?情况如何?你期望什么?通常你会创建一次Random
(比如存储在一个字段中),然后在同一个实例上重复调用nextInt()
。你是在问如何生成不重复的随机数吗?你说的“不工作”是什么意思?这涉及到许多问题。另外,对于Random
,您有什么import
?它是java.util.Random
还是其他类?好的,现在您已经更正了我的注释,我将删除它。
public class MyClass{
private final Random r = new Random();
private static final int RANGE = 10000;
public int generateNewRandomNumber(){
r.nextInt(RANGE);
}
}