未为参数类型java.util.Random、java.util.Random定义运算符>
我正在尝试创建一个赛马博彩游戏。我很难比较这些马的价值,看哪一匹获胜 在if语句中,我尝试将horse1的值与horse2和horse3的值进行比较。但我得到的错误是: 未为参数类型java.util.Random、java.util.Random定义运算符>未为参数类型java.util.Random、java.util.Random定义运算符>,java,random,Java,Random,我正在尝试创建一个赛马博彩游戏。我很难比较这些马的价值,看哪一匹获胜 在if语句中,我尝试将horse1的值与horse2和horse3的值进行比较。但我得到的错误是: 未为参数类型java.util.Random、java.util.Random定义运算符> import java.util.Scanner; import java.util.Random; public class RunHorseGame { public static void main(String[]
import java.util.Scanner;
import java.util.Random;
public class RunHorseGame
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
//variables
String name;
float bal;
float bet;
boolean nextRace;
int raceChoice;
int startRace;
Random horse1 = new Random(100);
Random horse2 = new Random(100);
Random horse3 = new Random(100);
Random horse4 = new Random(100);
Random horse5 = new Random(100);
Random horse6 = new Random(100);
Random horse7 = new Random(100);
Scanner input = new Scanner(System.in);
//welcome screen
System.out.println("Welcome to Horse Racing!");
System.out.println("Please enter your name:");
name = input.nextLine();
System.out.println("welcome " + name + ", you have a balance of $200!");
//create loop to repeat races when one finishes (keep balance)
nextRace = true;
while (nextRace == true)
{
bal = 200;
//give race options
System.out.println("Please select which race you would like to enter:");
System.out.println("Press 1 to enter: 3 horse race");
System.out.println("Press 2 to enter: 5 horse race");
System.out.println("Press 3 to enter: 7 horse race");
//create each race
//each horse has randomizer
//highest number wins race
raceChoice = input.nextInt();
switch(raceChoice)
{
case 1:
System.out.println("You have entered the 3 horse race!");
System.out.println("How much would you like to bet?");
bet = input.nextFloat();
System.out.println("You have bet " + bet + " dollars.");
bal =- bet;
System.out.println("Press 1 to start.");
System.out.println("Press 2 to go back to race selection.");
startRace = input.nextInt();
switch(startRace)
{
case 1:
if(horse1 > horse2 && horse1 > horse3)
{
}
break;
case 2:
nextRace = false;
break;
}
break;
case 2:
break;
case 3:
break;
default:
break;
}
nextRace = true;
}
}
}
随机数不是随机数。随机数是随机数生成器。因此,如果要获取要比较的数字,必须使用中的方法之一让生成器生成数字。使用以下方法:
Random randomGenerator = new Random();
int horse1 = randomGenerator.nextInt(100);
int horse2 = randomGenerator.nextInt(100);
//and so on...
正如@ajb正确地说的那样:随机数不是随机数。因此,当您分配一个数据类型时,它应该是int而不是Random,然后您应该使用上面所示的Random方法来获得所需的随机数 Random是对随机数生成器的引用,而不是对其他任何东西的引用。您不需要为每匹马创建一个新的随机数生成器
创建一个随机的实例:
随机r=新随机
然后创建马的随机机会:
int horse=r.100
同样如此。Random horse1=新的Random 100;不会使horse1成为一个最大为100的随机数,这看起来就像你正在使用它。您只需要1个随机对象,然后horse1、horse2等将是整数或其他东西,您将它们指定为horse1=myRandom.nextin100;