2015-08-31 52 views
-3

我正在尝试创建赛马博彩游戏。我无法比较各匹马的价值,看看哪一匹获胜。运算符>未定义为参数类型java.util.Random,java.util.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[] 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; 

    } 
} 
} 
+2

随机马1 =新随机(100); ** **不会使马1成为一个随机数达100(这是它看起来像你正在做的事情)。你只需要1个“随机”对象,那么马1,马2等将是整数或什么,你分配他们像'horse1 = myRandom.nextInt(100);' – csmckelvey

回答

0

使用以下:

Random randomGenerator = new Random(); 

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

作为(@ajb)正确地指出:甲Random是不是随机数。所以,当你分配一个数据类型时,它应该是int而不是Random,然后你应该使用如上所示的方法Random来获得所需的随机数。

4

一个Random一个随机数。 A Random是随机数生成器。因此,如果您想要获取数字进行比较,您必须使用Random中的方法之一来获取生成器以生成号码

2

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

使Random一个实例: Random r = new Random()

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

像现在这样。

相关问题