非常新手的问题,因为我就是这样。当我编译下面的代码时,我得到以下错误
为什么不打印''Hello John。你想玩游戏吗?''
class Game
{
public static void main(String[] args)
{
int number;
String name;
char answer;
System.out.print("Hello! Please enter your name");
name = EasyIn.getString();
System.out.println("Hello!"+name"Would you like to play a game? Y/N");
answer = EasyIn.getChar();
if (answer = 'Y' || 'y')
{
System.out.print("Great! Lets play!");
}
else if (answer = 'N' || 'n')
{
System.out.print("OK, bye " + name);
}
}
}
答案 0 :(得分:4)
在这一行:
System.out.println("Hello!"+name"Would you like to play a game? Y/N");
你错过了+
。应该是:
System.out.println("Hello!" + name + "Would you like to play a game? Y/N");
此外,在if
和else if
语句中,||
的双方都需要解析为布尔值,即。
if (answer == 'Y' || answer == 'y')
else if (answer == 'N' || answer == 'n')
您还会注意到我使用=
而不是==
。 =
用于设置值(赋值),而==
用于比较。
答案 1 :(得分:3)
这不起作用:
if (answer = 'Y' || 'y')
请改为尝试:
if (answer == 'Y' || answer == 'y')
N
或n
条件相同。请注意,在Java中,使用||
和&&
的正确方法是编写如下表达式:condition-connector-condition。另请注意,比较两个值是否相等的正确方法是使用==
(如果它们是基本类型)或equals()
(如果它们是对象类型)。单个=
执行分配,而非比较。
答案 2 :(得分:3)
你错过了+
System.out.println("Hello!"+name + "Would you like to play a game? Y/N");
答案 3 :(得分:0)
如果你使用像Netbeans这样的IDE,你会看到文件中的语法错误下出现红色下划线,行左边有一个小灯泡。将鼠标悬停在该位置上,您将看到问题的解释,这样您就可以自行跟踪此类问题。
答案 4 :(得分:0)
我在有错误的代码行上添加了注释。我还移动了一些支架以适应传统的符号。总的来说代码很好,你只是错过了一些语法错误。
class Game {
public static void main(String[] args){
int number;
String name;
char answer;
System.out.println("Hello! Please enter your name"); //println not print
name = EasyIn.getString();
System.out.println("Hello! "+name+ "Would you like to play a game? Y/N"); // +
answer = EasyIn.getChar();
if (answer == 'Y' || answer == 'y'){ // I think you we're using python 'Or'
System.out.println("Great! Lets play!"); //println
} else { // Since its just Y or N, no need for another if statement
System.out.println("OK, bye " + name); //don't forget the 'ln' on print
}
}
}