[英]Printing 2 sentences in Java,' ) expected'
非常新手的問題,因為那就是我。 當我編譯下面的代碼時,出現以下錯誤
為什么不打印''你好約翰。 你想玩游戲嗎?''
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);
}
}
}
在這一行:
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')
您還會注意到,我使用==
代替=
。 =
用於設置值(賦值),而==
用於比較。
這行不通:
if (answer = 'Y' || 'y')
嘗試以下方法:
if (answer == 'Y' || answer == 'y')
N
或n
條件也是一樣。 注意,在Java中使用||
的正確方法 和&&
通過寫這樣的表達式:condition-connector-condition。 還要注意,比較兩個值是否相等的正確方法是,如果它們是原始類型,則使用==
如果它們是對象類型,則使用equals()
。 單個=
執行分配 ,而不是比較。
您錯過了+
System.out.println("Hello!"+name + "Would you like to play a game? Y/N");
如果使用Netbeans之類的IDE,則文件中的語法錯誤下將顯示紅色下划線,並且在該行的左側會出現一個小燈泡。 將鼠標懸停在那上面,您將看到問題的解釋,這將使您自己找出問題所在。
我在有錯誤的代碼行中添加了注釋。 我還移動了一些括號以適合常規表示法。 總體而言,代碼是好的,您只是錯過了一些語法錯誤。
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
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.