循环向图块添加字母

Loop adding letter to a tile

这段代码应该是向单个图块添加一个字母,但它目前的编写方式是向多个图块添加一个字母。我该如何解决?谢谢

public void add(char c) {
        for (int row = 0; row < 4; row++){
            for (int col = 0; col < 4; col++){
                if (tiles[row][col] != null && tiles[row][col].getLetter() == null){
                    tiles[row][col].setLetter(letters.pop());
                    notifyObservers();
                    break;
                }
            }
            }
        }

break;只退出内循环:for (int col = 0; col < 4; col++)
所以它仍然运行外循环:for (int row = 0; row < 4; row++),因此再次进入内循环

尝试用 return; 替换 break; 以完全退出 add(char c) 函数。从而防止任何进一步的循环迭代

public void add(char c) {
    for (int row = 0; row < 4; row++){
        for (int col = 0; col < 4; col++){
            if (tiles[row][col] != null && tiles[row][col].getLetter() == null){
                tiles[row][col].setLetter(letters.pop());
                notifyObservers();
                return;
            }
        }
    }
}