我正在创建一个迷宫游戏,作为大学评估的一部分。我打算循环通过迷宫板,直到我找到角色'&'
,然后返回玩家的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;
}
为什么不能找到符号?
答案 0 :(得分:1)
//------Check POST data
if(!$check_email && !$check_password && !$check_request):
$user = new user_auth($email);
$authenticated = $user->user_login($password);
$status = $user->get_user_status();
if($status==100 && $authenticated)
{
session_start();
//-----Returns an encrypted user id
$_SESSION['account'] = $user->get_user_id();
$response = $redirect;
}
else
$response = ':: Authentication failed - try again ::';
在>>循环之后不在范围内。找到它时i
,并处理找不到带有标记的字符的情况(如return
)。并且,正如所写,-1
仅适用于 内部 循环(因此,如果我们通过break
显示i
例如,增加其“范围”,然后return
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;
}
请注意,您也可以使用for-each
循环编写
for (int i = 0; i < numberOfRows; i++) {
for (char ch : board[i]) {
if (ch == '&') {
return i;
}
}
}
return -1;