【java】三元條件運算子中的多個條件? - 程式人生

文章推薦指數: 80 %
投票人數:10人

【java】三元條件運算子中的多個條件? 阿新• • 發佈:2020-11-20. 我正在學習Java程式設計的第一學期,我們已經介紹了條件運算子(?:)條件。

我有兩個問題,似乎是想讓 ... 程式人生>java>三元條件運算子中的多個條件? 【java】三元條件運算子中的多個條件? 阿新••發佈:2020-11-20 我正在學習Java程式設計的第一學期,我們已經介紹了條件運算子(?:)條件。

我有兩個問題,似乎是想讓我在彼此之間“巢狀”條件運算子,而我可以很輕鬆地(但乏味地)使用if-else-if語句。

1)“假設月份是一個int變數,其值為1或2或3或5...或11或12。

編寫一個值為“jan”或“feb”或“mar”或“apr”的表示式,或者基於月份的值是“may”或“jun”或“jul”或“aug”或“sep”或“oct”或“nov”或“dec”。

(因此,如果month的值為4,則表示式的值將為“apr”。

)。

我的主意看起來像這樣:(month==1)?"jan":(month==2)?"feb":(month==3)?"mar":(month==4)?"apr": (month==5)?"may":(month==6)?"jun":(month==7)?"jul":(month==8)?"aug": (month==9)?"sep":(month==10)?"oct":(month==11)?"nov":(month==12)?"dec": (我知道這不是一個完整的表示式,但是我不確定如何用片語運算子來處理這麼多條件。

)2)假設credits是一個int變數,其值為0或正數。

根據學分的價值寫一個表示式,其值為“新人”或“大二”或“初中”或“高階”。

特別是:如果積分的價值小於30,則表示式的價值為“新鮮人”;30-59將是“大二”,60-89將是“初中”,90或更多將是“高階”。

再一次,我一直在玩耍,我能想到的最好的東西是這樣的(而且我很可能缺少一些必要的括號):credits<30?"freshman":credits>=30&&<=59? "sophomore":credits>=60&&<=89?"junior":"senior" 我已經在Google周圍搜尋並檢查了這裡的資料庫,但是我不認為有什麼與這個問題完全相同。

如果我錯了,請原諒我。

程式(CodeLab)不會採用Switch-Case或if-else-if解決方案,總是提示我應該使用條件?:運算子,但是我一直到哪裡都沒有弄清楚如何操縱該運算子來處理這麼多條件。

我們在本書中還不算太遠,所以如果你們能幫助我找到解決方案,那是一件很棒的事情,如果我能從我到目前為止所學的知識中汲取靈感的話。

解決辦法 對於的第一個問題,您確實可以使用三元運算子,但是更簡單的解決方案是使用帶有月份描述的String[],然後對該陣列下標:String[]months={"jan","feb","mar",...}; intmonth=1;//jan StringmonthDescription=months[month-1];//arraysare0-indexed 現在,對於您的第二個問題,三元運算子似乎更合適,因為您的條件較少,儘管if更容易閱讀,恕我直言:Stringyear="senior"; if(credits<30){ year="freshman"; }elseif(credits<=59){ year="sophomore"; }elseif(credits<=89){ year="junior"; } 將此與三元運算子進行對比:Stringyear=credits<30?"freshman":credits<=59?"sophomore":credits<=89?"junior":"senior"; Hibernate丟擲MultipleBagFetchException «上一篇 為什麼我得到異常java.lang.NoClassDefFoundErrororg/codehaus/groovy/?下一篇» 相關推薦 三元運算子的多個條件安全嗎? 在條件運算子中使用物件兩次是否會產生UB? C++條件運算子的多個語句 將增減運算子放在三元/條件運算子中是否安全? 為什麼在條件運算子(?:)中,第二個和第三個運算元必須具有相同的型別? 如何在三元條件運算子中使用Optional變數? 三元條件運算子中的多個條件? 在三元/條件運算子中進行轉換時出現奇怪的編譯器錯誤 是否可以在python一類輪三元條件運算子中放置中斷 條件運算子中的“錯誤:左值需要作為賦值的左運算元” 搜尋 基礎教學 Mysql入門 Sql入門 Android入門 Docker入門 Go語言入門 Ruby程式入門 Python入門 Python進階 Django入門 Python爬蟲入門 新加入文章



請為這篇文章評分?