在 Java 中,我无法在方法中的 return 语句之后添加代码

我是 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;

}

}


饮歌长啸
浏览 316回答 3
3回答

潇潇雨雨

这是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;}

白衣非少年

退货后您没有任何代码。警告说你错过了回报注意:不建议更改您的参数a = 8;,但如果您的 if 语句均未输入,则必须返回某些内容。在这种情况下,在该行之后为真或假您可能还想捕获以下结果 debug(4, 5);

慕村225694

编译器试图(以它自己的方式)告诉您elsecase ( a+b != 12 && a+b != 18) 正在执行,a=8并且该代码分支缺少return语句。Java 编译器在程序流分析方面非常聪明,所以当它告诉某些地方有问题时,说明确实有问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java