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.");
}