未为参数类型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[]

我正在尝试创建一个赛马博彩游戏。我很难比较这些马的价值,看哪一匹获胜

在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[] 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;