【问题标题】:return statement is missing error in arrayreturn 语句在数组中缺少错误
【发布时间】:2012-12-22 12:42:45
【问题描述】:

我正在尝试基于一个简单的算法来获取数组的元素。在这个例子中,我得到了索引总和为二的元素(模块三)我写了这个方法,但是 jcreator 给了我“return statement is missing”。我该如何解决这个问题。

public class hw1 {

    public static void main(String[] args) {

        String[][] RaggedArray = {
                { "hello", "hi", "i", "nice", "good", "love" },
                { "what", "java", "there" }, 
                { "and", "cool", "door", "my" },
                { "time", "phone", "homework" }

        };
        System.out.println(hw_one(RaggedArray));
    }

    public static String hw_one(String[][] array) {
        String result;

        for (int row = 0; row < array.length; row++) {
            for (int column = 0; column < array[row].length; column++) {

                if ((row + column) % 3 == 2) {
                    result = array[row][column];
                }

            }
        }
        return result;
    }
}

【问题讨论】:

  • 请在发布之前格式化您的代码。这很难阅读。
  • 是的,我需要格式化它...

标签: java arrays methods return


【解决方案1】:

我不明白你怎么能得到一个“return statement is missing”的错误,而它显然不是。

也就是说,我的编译器抱怨您返回了一个可能未初始化的变量 (result)。下面解决了这个问题:

String result = null;
              ^^^^^^

【讨论】:

  • 是的,你是对的,对不起,我很困惑。我应用了你的答案,但代码只给了我一个元素。
  • 永远不要用 null 初始化一个字符串,总是什么都没有 ("")。这不会导致 NullPointer。唯一的例外是您要检查结果是否为空
  • 是的,我最终解决了它,感谢所有stackoverflow家族:))
  • NPE 似乎想要 NullPointerException。
【解决方案2】:

您必须在使用本地变量result 之前对其进行初始化。 将其初始化为 null 或空字符串。

String result = null;  or  String result = "";

【讨论】:

    猜你喜欢
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多