java - "Cannot return a value from method whose result type is void"

标签 java arrays compiler-errors return

如何在 for 循环之外使用 boolean 值 h​​asDivisor?当我尝试编译这部分代码时,收到消息“无法从结果类型为 void 的方法返回值”

for (int i = 0; i < NumBox.length; i++) 
                {
                 if (NumBox[i] == 0) 
                    continue;
                 boolean hasDivisor = false;
                 for (int j = 0; j < i; j++) {

                    if (NumBox[j] == 0) 
                     continue;
                     if (NumBox[i] % NumBox[j] == 0) {
                       hasDivisor = true;
                       break;
                    }
                 }
                 return hasDivisor;
              }

最佳答案

第一个问题:变量的范围仅限于声明它们的 block 。您的变量是在 for 循环声明的,但您希望在循环外部使用它。在循环外部(即之前)声明它。

第二个问题:声明你的方法返回 boolean - 从错误消息判断,它当前声明返回 void

关于java - "Cannot return a value from method whose result type is void",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22467617/

相关文章:

java - 在这种情况下,为什么我不能说 variable.array?

c# - 识别 C# 中的索引越界

arrays - 将字符串值添加到 Numpy 数组 Python 中每个值的末尾

c++ - 首先定义 Here c++ error by adding one file

java - 当我们声明一个类而不扩展任何类时,它有父类吗?

arrays - 在大小为 N 的数组的每 k 个元素中查找最小和第二小的元素

c++ - 专门化成员函数时出现 "too many template-parameter-lists"错误

java - 如何更好地编写以下 Java 代码?

java - Lanterna-如何创建一个简单的复选框菜单?

java - 在Java中,如何将字符串的第一个(数字)字符转换为整数?