Search code examples
javaarraysfor-loopmethodsreturn

Missing return statement in for loop


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];
}

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


Solution

  • 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];
            }
        }     
    }
    

    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;
    }