【问题标题】:For Loops Java Unreachable Statement [duplicate]For Loops Java Unreachable Statement [重复]
【发布时间】:2016-11-27 05:00:56
【问题描述】:

我在“无法访问的语句”行上方添加注释的行中不断出现错误。我怎样才能解决这个问题?这段代码还有什么问题吗?

boolean containsAll(IntSet [] s) {


    return false;

    // Unreachable Code begins here
    for (int y = 0; y< s.length; y++) {
        for (int i = 0; i< s[y].arr.length; i++) {
            if (s[y].contains(i)) {
                if (i>=arr.length) {
                    return false;
                }
                if (!arr[i]) {
                    return false;
                }
            }
        }
    }
    return true;
}

【问题讨论】:

  • return false 语句在此结束方法,之后不执行任何操作。
  • 为什么在方法的开头有这个 return false ?这一定是一个错误。不是吗?

标签: java unreachable-code


【解决方案1】:

正如@Eli 所建议的,只要您在函数中的某些语句之前有返回条件,它就永远不会到达该代码,因此会给您编译错误

错误:无法访问的语句

如下图所示:

只需删除第 12 行的 return false,如上图所示,它将编译您的程序而不会出现任何错误。

希望对你有帮助!!!

【讨论】:

    【解决方案2】:
    boolean containsAll(IntSet [] s) {
    
    
        return false; // <------- remove this 
    
        // Unreachable Code begins here
        for (int y = 0; y< s.length; y++) {
            for (int i = 0; i< s[y].arr.length; i++) {
                if (s[y].contains(i)) {
                    if (i>=arr.length) {
                        return false;
                    }
                    if (!arr[i]) {
                        return false;
                    }
                }
            }
        }
        return true;
    }
    

    它显然不会到达return 语句下面的代码。因为它会自动结束一个方法。 return 用于将 Object 值传递给函数/方法本身。也尝试阅读此内容,这将有助于理解return 的含义。 -->> Returning a Value in Method .

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 1970-01-01
      • 2022-10-20
      • 1970-01-01
      • 2012-11-18
      • 2015-03-22
      • 2022-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多