java - Java 无法到达 if 条件语句

标签 java if-statement bluej unreachable-statement

double runde(double x, int n) {
    if (n < 0) {
        throw new IllegalArgumentException("Anzahl der Nachkommastellen darf nicht negativ sein.");

    return 0.0 ; }


     if (n==x) {/* Ist n=x? Wenn ja, dann nicht runden*/
    return x ; } /* X dementsprechend als Rückgabewert */


    if (n>0) {/* Test ob n größer null ist*/ 
    return Math.round(x*Math.pow(10,n))/Math.pow(10,n) ; }}

嘿,我不明白为什么 return 0.0 应该是一个无法访问的语句。 我尝试构建一种将数字四舍五入到给定小数位的方法。

此外还应该缺少返回语句。

感谢您的帮助!

最佳答案

如果您的方法引发异常,它也无法返回值。

您必须选择是否抛出异常:

if (n < 0) {
    throw new IllegalArgumentException("Anzahl der Nachkommastellen darf nicht negativ sein.");
}

或返回0.0:

if (n < 0) {
    return 0.0 ;
}

但你不能两者兼得。

并且您必须有一个最终的返回声明,以防您的条件都不成立。添加 return 语句作为该方法的最终语句。

关于java - Java 无法到达 if 条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48061387/

相关文章:

java - 使用 Java lambda 对 SQL 中的对象进行分组和求和?

java - 轻松从 RPC/编码的 WSDL 生成 Spring WS 客户端?

java - 如何在 if 语句中定义变量并在该语句之外使用它们?

ruby - 基本 If/Else 语句问题

java - 将类对象添加到数组中

java - 无法使用vertx创建文件

java - fragment 创建和检索并发

java - 如何在 Java 中搜索两个字符串之间的值范围

java - 如何使用以下 Pen 类和 canvas 类在 Java 中绘制螺旋和多边形

java - 使用圆圈制作屏幕保护程序。我如何为圆圈创建一个循环以便创建新的圆圈?