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;