for循环中缺少return语句

2022-01-19 00:00:00 return arrays for-loop methods java

我有一个从数组返回值的 for 循环.

I have a for loop that returns values from an array.

public static String getPieces(){
        for(int y=0; y<=7; y++)
            for(int x=0; x<=7; x++)
                return piece[x][y];
}

方法中有明确的return语句,每次调用都会返回.为什么会说缺少返回语句?

There is a return statement clearly in the method that will return every time it is called. Why does it say missing return statement?

推荐答案

除了 loop 完全没有意义(因为它会返回piece[0][0])之外,添加额外的返回行可能帮助你:

Besides the loop being completely pointless (because it will return piece[0][0]), adding an extra return line might help you:

public static String getPieces() {
    for (int y = 0; y <= 7; y++) {
        for (int x = 0; x <= 7; x++) {
            return piece[x][y];
        }
    }     
}

由于您声明要返回 64 个值,因此您必须返回一个数组.

Since you stated that you want to return 64 values, you'll have to return an array.

public static ArrayList<String> getPieces() {
    ArrayList<String> strings = new ArrayList<String>();
    for (int y = 0; y <= 7; y++) {
        for (int x = 0; x <= 7; x++) {
            strings.add(piece[x][y]);
        }
    }
    return strings;
}

相关文章