Java 在我的随机数生成器中搜索错误

Java 在我的随机数生成器中搜索错误,java,random,Java,Random,我应该创建一个“游戏”,分配一个随机数,允许用户猜测数字,然后应该显示猜测的数量。 只是想知道我错过了什么,因为我目前无法将其编译。。。 我不介意别人指出我的错误 // ---------1---------2---------3---------4---------5---------6---------7 // 1234567890123456789012345678901234567890123456789012345678901234567890 import j

我应该创建一个“游戏”,分配一个随机数,允许用户猜测数字,然后应该显示猜测的数量。 只是想知道我错过了什么,因为我目前无法将其编译。。。 我不介意别人指出我的错误

    // ---------1---------2---------3---------4---------5---------6---------7
    // 1234567890123456789012345678901234567890123456789012345678901234567890
    import java.util.Scanner;
    import java.util.Random;

    public class RandomNumbersGame
    {
       public static void main(String[] args)
       {

       int low = 1;
       int max = 100;
       int randomNumber = random.nextInt(max - low + 1) + low;
       Random rand = new Random();
       return randomNumber;

       String guessCount = 1;
       int userNumber;


       Scanner keyboard = new Scanner(System.in);
       userNumber = keyboard.nextInt();



       while (userNumber != randomNumber)

       if (userNumber > randomNumber)
       {
          System.out.println("Too high, try again.");
       }
       else (userNumber < randomNumber)
       {
          System.out.println("Too low, guess again.");
       }

       else (userNumber == randomNumber)
       {
          System.out.println("It took you " + "of guesses.");  
       }

      }               
    } 
/-----------1-----------2-------3-------4-------5-------6-------7
// 1234567890123456789012345678901234567890123456789012345678901234567890
导入java.util.Scanner;
导入java.util.Random;
公开课随机数字游戏
{
公共静态void main(字符串[]args)
{
int低=1;
int max=100;
int randomNumber=random.nextInt(最大值-低+1)+低;
Random rand=新的Random();
返回随机数;
字符串猜测计数=1;
int用户号;
扫描仪键盘=新扫描仪(System.in);
userNumber=keyboard.nextInt();
while(userNumber!=随机数)
如果(用户编号>随机编号)
{
System.out.println(“太高,请重试”);
}
其他(用户编号<随机编号)
{
System.out.println(“太低,再次猜测”);
}
else(userNumber==randomNumber)
{
System.out.println(“它花费了你“+”的猜测。”);
}
}               
} 

首先,您必须跟踪开始/结束括号。此外,您必须将readKey功能放入您的while循环中,否则您将反复检查相同的值。试试像这样的东西

while(userNumber != randomNumber) {
    userNumber = keyboard.nextInt();

    if(userNumber > randomNumber) {
    }
    else if(userNumber < randomNumber) {
    }
    else if(userNumber == randomNumber) {
    }
    else {
    }
}
完全没有道理

最后一点是关于数据类型:

String guessCount = 1;
应该是:

int guessCount = 1;
如果要在以后打印,只需将其转换为
字符串

公共静态void main(字符串…args){
public static void main(String... args) {
    int low = 1;
    int max = 10;

    Random random = new Random();
    int randomNumber = random.nextInt(max - low + 1) + low;
    int guessCount = 1;
    int userNumber;

    Scanner scanner = new Scanner(System.in);
    do {
        System.out.println("Enter your guess number = ");
        userNumber = scanner.nextInt();
        if (userNumber > randomNumber) {
            guessCount++;
            System.out.println("Too high, try again.");
        }
        else if (userNumber < randomNumber) {
            guessCount++;
            System.out.println("Too low, guess again.");
        }

        else if (userNumber == randomNumber) {
            System.out.println("It took you " + guessCount + " times of guesses.");
        }
    } while (userNumber != randomNumber);

}
int低=1; int max=10; 随机=新随机(); int randomNumber=random.nextInt(最大值-低+1)+低; int猜测计数=1; int用户号; 扫描仪=新的扫描仪(System.in); 做{ System.out.println(“输入您的猜测号码=”); userNumber=scanner.nextInt(); 如果(用户编号>随机编号){ 猜数++; System.out.println(“太高,请重试”); } else if(用户编号<随机编号){ 猜数++; System.out.println(“太低,再次猜测”); } else if(userNumber==randomNumber){ System.out.println(“它花费了你”+猜测次数+“猜测次数”); } }while(userNumber!=随机数); }

我想你会像上面那样测试。100太多,无法猜测:D

存在多个问题:

1> return语句对于
公共静态void main(字符串[]args)
无效。返回类型为void。我不明白你想用
Random
实现什么。所以无法修复。它也有多个问题

2> 你是在试图适应其他条件。这是不对的。如果您想要检查,您可以通过类似这样的多个
If
语句进行检查

if (userNumber > randomNumber)
{
     System.out.println("Too high, try again.");
}
if (userNumber < randomNumber)
{
      System.out.println("Too low, guess again.");
}

if (userNumber == randomNumber)
{
      System.out.println("It took you " + "of guesses.");  
}
if(userNumber>randomNumber)
{
System.out.println(“太高,请重试”);
}
如果(用户编号<随机编号)
{
System.out.println(“太低,再次猜测”);
}
if(userNumber==randomNumber)
{
System.out.println(“它花费了你“+”的猜测。”);
}

3>
字符串猜测计数=1猜测计数是字符串,您正在尝试分配整数。这是非法的。

编译错误是什么?我们不是编译器。
下的语句返回随机数不是非法的。无法访问的代码。抱歉,我以为我包括了它。我收到的错误是这些,缺少括号,在什么地方?NumberGame.java:45:error:不是其他语句(userNumberif (userNumber > randomNumber)
{
     System.out.println("Too high, try again.");
}
if (userNumber < randomNumber)
{
      System.out.println("Too low, guess again.");
}

if (userNumber == randomNumber)
{
      System.out.println("It took you " + "of guesses.");  
}