我试图显示用户猜测的次数,这些是错误:
NumberGame.java:44:不是声明 System.out.println {“猜测次数:”+ guessCount); ^ NumberGame.java:44:';'预期 System.out.println {“猜测次数:”+ guessCount); ^ NumberGame.java:44:不是声明 System.out.println {“猜测次数:”+ guessCount); ^ NumberGame.java:44:';'预期 System.out.println {“猜测次数:”+ guessCount); ^ NumberGame.java:48:解析时到达文件末尾}
我的代码是:
import java.util.Random;
import java.util.Scanner;
public class NumberGame
{
public static void main(String[] args)
{
final int MAX_NUMER = 100;
int number = rand.nextInt(MAX_NUMBER) + 1;
int on_off = 1;
int guessCount = 0;
int guess;
Random rand = new Random();
Scanner keyboard = new Scanner(System.in);
while(on_off == 1)
{
System.out.print("Guess a number between 1 and 100: ");
guess = keyboard.nextInt();
guessCount++;
if(guess < number)
{
System.out.println("Too Low");
guessCount++;
}
if(guess > number)
{
System.out.println("Too High");
guessCount++;
}
if(guess == number)
{
System.out.println("Correct! You win!");
}
}
System.out.println{"Number of guesses: " + guessCount};
}
}
非常感谢任何帮助!谢谢你的时间!
答案 0 :(得分:2)
System.out.println{"Number of guesses: " + guessCount);
应该是
System.out.println("Number of guesses: " + guessCount);
你有一个错字。您写了{
而不是(
并在行
int number = rand.nextInt(MAX_NUMBER) + 1;
您尚未声明rand
并且
int number = rand.nextInt(MAX_NUMBER)+ 1;
应该是
int number = rand.nextInt(MAX_NUMER) + 1; //you decalred final int MAX_NUMER
PS:我建议你使用IDE,这可以节省你很多时间。
答案 1 :(得分:2)
您遇到语法错误。仔细看看你的线。您有一个{
而不是(
。
System.out.println{"Number of guesses: " + guessCount);
您的括号不匹配。
根据您的评论进一步说明:
大括号{}
通常表示代码块,您可以采用非常简单的方式将代码组合为一种单数语句(即if (x==1) {statements;} else { more statements;}
)。
括号()
可用作函数的一部分。在您的情况下,System.out.println
是一个给您使用的函数。在()
内,您传递参数/参数。在这种情况下,您将传递要将Java打印出来的String。对于System.out.println()
,您需要括号,而不是大括号。
答案 2 :(得分:2)
您的代码中存在拼写错误:
System.out.println{"Number of guesses: " + guessCount);
左括号错了。它应该是:
System.out.println("Number of guesses: " + guessCount);
变量名中也有拼写错误:
final int MAX_NUMER = 100;
应该是
final int MAX_NUMBER = 100;
希望这有帮助
答案 3 :(得分:1)
在(
{
代替println
大括号
答案 4 :(得分:1)
您更正后的语法似乎已使用右大括号)
替换右括号}
。
我在第44行用{
替换了(
。另外,我在第8行修正了一个拼写错误,您写的是MAX_NUMER
而不是MAX_NUMBER
。此外,rand
需要在首次使用之前声明并初始化,因此我将其上移到您为number
分配值的位置。
对于第一个错误,方法调用使用括号,而不是花括号;花括号用于代码块,如类中的代码,或用于方法的主体。
第二个错误只是一个错字,而且相当无趣。
没有声明和初始化rand的第三个错误就是这个;您需要先声明一个变量才能使用它,而对于Random,它需要在首次使用之前进行初始化。
import java.util.Random;
import java.util.Scanner;
public class NumberGame
{
public static void main(String[] args)
{
final int MAX_NUMBER = 100;
Random rand = new Random();
int number = rand.nextInt(MAX_NUMBER) + 1;
int on_off = 1;
int guessCount = 0;
int guess;
Scanner keyboard = new Scanner(System.in);
while(on_off == 1)
{
System.out.print("Guess a number between 1 and 100: ");
guess = keyboard.nextInt();
guessCount++;
if(guess < number)
{
System.out.println("Too Low");
guessCount++;
}
if(guess > number)
{
System.out.println("Too High");
guessCount++;
}
if(guess == number)
{
System.out.println("Correct! You win!");
}
System.out.println("Number of guesses: " + guessCount);
}
}
}