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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Java 中,我無法在方法中的 return 語句之后添加代碼

在 Java 中,我無法在方法中的 return 語句之后添加代碼

飲歌長嘯 2021-10-27 10:15:55
我是 Java 新手,我正在學習帶有 return 語句的方法。我的 IDE 說:此方法必須返回布爾類型的結果但是我的方法只返回布爾值。如何解決?public class Test {public static void main(String[] aargs) {    debug(4, 5);}public static boolean debug(int a, int b) {    if(a+b == 12) {        return true;    }else if(a+b == 18){        return false;    }    a = 8;}}
查看完整描述

3 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

這是java的設計模式。我們不能在 return 語句之后寫任何代碼。如果您嘗試使用此代碼進行編譯,則編譯將失敗。拋出異常也是一樣。


這是因為在返回或拋出異常語句后,控制將轉到調用者位置。所以這些行不能被執行。


在您的情況下,您必須返回一些布爾值。


代碼應該是這樣的


public static boolean debug(int a, int b) {

    boolean flag = false;

    if(a+b == 12) {

       flag = true;

    }else if(a+b == 18){

        flag = false;

    }

    a = 8;

    return flag;

}


查看完整回答
反對 回復 2021-10-27
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

退貨后您沒有任何代碼。警告說你錯過了回報

注意:不建議更改您的參數a = 8;,但如果您的 if 語句均未輸入,則必須返回某些內容。在這種情況下,在該行之后為真或假

您可能還想捕獲以下結果 debug(4, 5);


查看完整回答
反對 回復 2021-10-27
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

編譯器試圖(以它自己的方式)告訴您elsecase ( a+b != 12 && a+b != 18) 正在執行,a=8并且該代碼分支缺少return語句。

Java 編譯器在程序流分析方面非常聰明,所以當它告訴某些地方有問題時,說明確實有問題。


查看完整回答
反對 回復 2021-10-27
  • 3 回答
  • 0 關注
  • 341 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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