我的象征迷失在迷宫中

时间:2017-04-23 04:34:08

标签: 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 getCurrentYPosition() {
    for (int i = 0; i < numberOfRows; i++) {
        for (int n = 0; n < board[i].length; n++) {
            if (board[i][n] == '&') {
                break;
            }
        }
    }
    return i;
}

为什么不能找到符号?

1 个答案:

答案 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 numberOfRowsi为增量,直到那时为止。所以,我认为你真的想要像

这样的东西
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;