亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這兩例代碼,為什么一個報錯,一個可以正常運行

https://img1.sycdn.imooc.com//5b5e9d56000154c306410450.jpg,這是我第一次敲得,輸出的三個代碼塊都是在第一個條件的{ }里,然后他提示Syntax error on token "else", delete this token(令牌“else”語法錯誤,請刪除此令牌

https://img1.sycdn.imooc.com//5b5e9d5700012b8706000448.jpg第二張圖,是改過以后的,我把第三個代碼塊放在了第一個條件的{ }外,可以正常運行。這是為什么


正在回答

5 回答

第一個if成立的條件是成績大于80,只有大于80,才能進行下一個分支,即討論男女

第一個if都不成立則直接打印淘汰

所以第一第二個代碼塊應該在第一個if條件的{}中?? 第三個代碼塊則是不滿足第一個條件的結果則要在第一個if條件的{}外

0 回復 有任何疑惑可以回復我~

第17行少了個大括號 }

0 回復 有任何疑惑可以回復我~

你想想,最外層的if{}else{}本來就是并行的。你非要把最外層的else寫在if里面,你寫的是if{else{}}當然是錯誤的。語法錯誤。{}內表示當前的語法內容,if{}寫滿足if的條件內容語句,else{}寫前者條件反之的內容語句。并行的。不是包含和被包含的關系。

0 回復 有任何疑惑可以回復我~

https://img1.sycdn.imooc.com//5b603b1c00012c0909930519.jpg

拉閘,不知道錯在哪

0 回復 有任何疑惑可以回復我~
#1

qq_仰面微笑i_0 提問者

你的第二個if的小括號里寫錯了,“=”在java里是賦值,而在那里需要的是比較,應該用“==”
2018-08-02 回復 有任何疑惑可以回復我~
#2

曼曼喜歡你 回復 qq_仰面微笑i_0 提問者

說的對。一個=是代表給變量賦值,兩個=是代表“是”的意思。sex=="女" 就代表sex是"女"的意思。由于sex的變量屬性為String字段,故在判斷女字的時候,要給女字加上引號,即sex=="女"。
2018-08-03 回復 有任何疑惑可以回復我~
#3

讀C加尚JAVA 回復 曼曼喜歡你

真是!
2018-08-04 回復 有任何疑惑可以回復我~

public class HelloWorld {

? ? public static void main(String[] args) {

int score = 81;

String sex = "男";

? ? ? ? if(sex.equals("男")){

? ? ? ? ? ?if(score>80){

? ? ? ? ? ? ? ?System.out.println("進入男子組決賽");

? ? ? ? ? ?} else if(score> 60){

? ? ? ? ? ? ? ?System.out.println("進入男子復活賽");

? ? ? ? ? }

? ? ? ? else{

? ? ? ? ? System.out.println("淘汰了");

? ? ? ? }

? ? ? ? ? ??

? ? ? ? }else{

? ? ? ? ? ? System.out.println("走錯比賽了");

? ? ? ? }

? ? ? ??

? ? ? ??

? ? ? ??

}

}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這兩例代碼,為什么一個報錯,一個可以正常運行

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號