Java If-else语句中的非语句错误
我正在制作一个程序,生成一个随机数,让你猜出来,然后告诉你是否正确。代码是:Java If-else语句中的非语句错误,java,if-statement,Java,If Statement,我正在制作一个程序,生成一个随机数,让你猜出来,然后告诉你是否正确。代码是: void guessNumber(); { //Asks for guess of the number. Prints whether the guess is above or below randomNumber. Scanner reader = new Scanner(System.in); numberOfTries = 0; While(userGuess != ran
void guessNumber();
{
//Asks for guess of the number. Prints whether the guess is above or below randomNumber.
Scanner reader = new Scanner(System.in);
numberOfTries = 0;
While(userGuess != randomNumber);
System.out.println("Guess the number ");
int userGuess = reader.nextLine();
If (userGuess = randomNumber); {
numberOfTries += 1;
System.out.println("Correct! It took you " + numberOfTries + " tries to find my numnber");
} Else; {
distanceFromNumber = Math.abs(7);
numberOfTries += 1;
System.out.println("Incorrect! The number that you guessed is " + distanceFromNumber + "numbers away from my number ");
}
}
编译器返回“Else”部分不是语句。如果我从“If”和“Else”行中删除分号,编译器还会告诉我这两行需要一个“;”。我也尝试过改变括号的格式,但没有帮助 Else应该是小写的,就像Java中的所有关键字一样,不应该以分号结尾
...
} else {
...
if()或while()语句后面也不应该有分号,while()语句后面也不应该有左括号
while(true)
{ //missing
}
总之,另外
void guessNumber() //EDIT removed semi-colon
{
//Asks for guess of the number. Prints whether the guess is above or below randomNumber.
Scanner reader = new Scanner(System.in);
numberOfTries = 0;
while(userGuess != randomNumber) //EDIT removed semi-colon + lowercase while
{//EDIT added this bracket
System.out.println("Guess the number ");
int userGuess = reader.nextLine();
if (userGuess == randomNumber) {//EDIT removed semi colon, lowered case of 'If' & added double equals (equality testing and not assignment)
numberOfTries += 1;
System.out.println("Correct! It took you " + numberOfTries + " tries to find my numnber");
} else { //EDIT removed semi-colon & changed case
distanceFromNumber = Math.abs(7);
numberOfTries += 1;
System.out.println("Incorrect! The number that you guessed is " + distanceFromNumber + "numbers away from my number ");
}
}//EDIT Added this bracket
}
您使用的是大写字母,其中特殊单词总是小写
void guessNumber()
{
//Asks for guess of the number. Prints whether the guess is above or below randomNumber.
Scanner reader = new Scanner(System.in);
numberOfTries = 0;
while(userGuess != randomNumber);
System.out.println("Guess the number ");
int userGuess = reader.nextLine();
if (userGuess = randomNumber) {
numberOfTries += 1;
System.out.println("Correct! It took you " + numberOfTries + " tries to find my numnber");
} else {
distanceFromNumber = Math.abs(7);
numberOfTries += 1;
System.out.println("Incorrect! The number that you guessed is " + distanceFromNumber + "numbers away from my number ");
}
}
java中的关键字小写(
while
,if
,else
…)
您还想删除代码>在while
、if
和else
行之后
为了比较数值,请使用:
if (userGuess == randomNumber) {
应该是
If (userGuess == randomNumber)
所有java关键字都应该是小写的,所以
if
else
while
此外,您还可以使用==来询问“某物是否等于其他某物”,而不是将某物设置为等于其他某物的=
所以
它不是别的,它是别的,而应该是没有时间的分号,更少的大写字母@答案:只做一个好答案,而不是5个不完整的。别再互相攀比了。我想这不是你想要的if(userGuess=randomNumber)
,if(userGuess==randomNumber)
就是你想要的want@lordkain:不要通过编辑他的帖子来回答问题。void guessNumber()代码>应该是void guessNumber()
请解决所有问题。指出它们并不难,但它会让事情变得清晰-您的编辑仍然包含4到5个问题。void guessNumber()
应该是void guessNumber()
和If
应该是If
(userGuess=randomNumber)
必须是(userGuess==randomNumber)
而必须是而请在发布之前检查两次答案:)
if
else
while
while(condition){
if (a==b){
}else{
}
}