gpt4 book ai didi

java - Random() 不生成随机数

转载 作者:行者123 更新时间:2023-12-01 07:34:11 25 4
gpt4 key购买 nike

我正在尝试做 roshambo(或石头剪刀布),并让计算机输出石头、剪刀、布来代替 0 到 2 之间的随机值。但是,我没有得到随机值。程序运行时会经历一个 while 循环,每次经过循环时,值都保持不变。但是,如果我停止,然后重新运行应用程序,该值会发生变化,并在循环期间保持相同的值。我对这个方法的编码是否正确?

public class Player2 extends Player{

private Random rand;

public Player2(){
rand = new Random();
}

public Roshambo generateRoshambo() {
int min = 0;
int max = 2;
int randomNum = rand.nextInt(max - min + 1) + min;

if(randomNum == 0){
return Roshambo.ROCK;
} else if (randomNum == 1) {
return Roshambo.PAPER;
} else {
return Roshambo.SCISSORS;
}
}
}

这是循环:

Roshambo value = p2.generateRoshambo(); 
String cont = "Yes";

do{

System.out.print("\nRock, Paper, or Scissors: ");
String choice = sc.nextLine();


System.out.println("\n" + name + ": " + choice);
System.out.println("Computer: " + value);

if (value == ...)
{
System.out.println("\n" + name + " Wins!\n");
}

else if (value == ...)
{
System.out.println("\nYou Tied!\n");
}

else
{
System.out.println("\nThe Computer Wins!\n");
}

System.out.print("Play again? (Yes/No): ");
cont = sc.nextLine();
} while (cont.equalsIgnoreCase("Yes"));

最佳答案

我刚刚意识到自己的错误。我在 do-while 循环之外调用了 p2.generateRoshambo() 。通过将以下内容放入循环中,我能够解决问题:

Roshambo value = p2.generateRoshambo()

关于java - Random() 不生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14225594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com