<运营商>未定义参数类型java.util.Random,java.util.Random

时间:2015-08-31 01:27:20

标签: java random

我正在尝试创建赛马投注游戏。我很难比较马匹的价值,看看哪一匹胜。

if语句中,我尝试将horse1的值与horse2和horse3的值进行比较。但我得到的错误是: 他的运营商&gt;未定义参数类型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;

    }
}
}

3 个答案:

答案 0 :(得分:4)

Random 不是随机数。 Random是随机数生成器。因此,如果您想要比较数字,则必须使用Random中的一种方法来获取生成器以生成数字

答案 1 :(得分:2)

Random是对随机数生成器的引用,而不是任何其他内容。您不需要为每匹马创建一个新的随机数生成器。

制作Random的一个实例: Random r = new Random()

然后创造马的随机机会: int horse = r.nextInt(100);

喜欢这样。

答案 2 :(得分:0)

使用以下内容:

    Random randomGenerator = new Random();

        int horse1 = randomGenerator.nextInt(100);
        int horse2 = randomGenerator.nextInt(100);
//and so on...

As(@ajb)正确地说:Random不是随机数。因此,当您为马分配数据类型时,它应该是int而不是Random,然后您应该使用上面显示的Random方法来获取所需的随机数。