Java 我的符号在迷宫中丢失了

Java 我的符号在迷宫中丢失了,java,for-loop,multidimensional-array,undefined-symbol,Java,For Loop,Multidimensional Array,Undefined Symbol,作为大学评估的一部分,我正在制作一个迷宫游戏。我打算在迷宫板上循环,直到我找到角色“&”,然后返回玩家的y坐标(我使用相同的方法获得x位置并获得相同的错误) 我得到的错误是: MazeGame.java:133: error: cannot find symbol return i; ^ symbol: variable i location: class MazeGame 1 error 还有,我的代码 public static int getCurrentYP

作为大学评估的一部分,我正在制作一个迷宫游戏。我打算在迷宫板上循环,直到我找到角色
“&”
,然后返回玩家的y坐标(我使用相同的方法获得x位置并获得相同的错误)

我得到的错误是:

MazeGame.java:133: error: cannot find symbol  
return i;  
^  
symbol:   variable i  
location: class MazeGame  
1 error  
还有,我的代码

public static int getCurrentYPosition() {
    for (int i = 0; i < numberOfRows; i++) {
        for (int n = 0; n < board[i].length; n++) {
            if (board[i][n] == '&') {
                break;
            }
        }
    }
    return i;
}
public static int getCurrentYPosition(){
for(int i=0;i

为什么它找不到符号?

i
在循环之后不在范围<代码>找到该字符时返回
,并处理未使用哨兵找到该字符的情况(如
-1
)。而且,正如所写的那样,
中断
只会应用于内部循环(例如,如果我们通过增加其“范围”使
i
可见),那么您将
返回
numberOfRows作为
i
的增量,直到那时。所以,我想你真的想要这样的东西

public static int getCurrentYPosition() {
    for (int i = 0; i < numberOfRows; i++) {
        for (int n = 0; n < board[i].length; n++) {
            if (board[i][n] == '&') {
                return i;
            }
        }
    }
    return -1;
}

抱歉,StackOverflow不是这样工作的。“这是我的代码,它不起作用,有人能帮我弄清楚”这样的问题被认为是离题的。请访问并阅读了解更多信息,尤其是阅读您确实知道此代码与原始代码不同,对吗?原始代码中的
break
只会中断内部循环(尽管这实际上没有意义),如果
i
仍然在范围内,就像预期的那样,return语句将返回
numberOfRows
,而不是
-1
。我同意你的代码更有意义,但是你应该在答案中提到那些对逻辑的改变。仍然是+1。
for (int i = 0; i < numberOfRows; i++) {
    for (char ch : board[i]) {
        if (ch == '&') {
            return i;
        }
    }
}
return -1;