2d字符数组java的“非语句”问题
我有一个地图的2d字符数组,数组中的每个位置都指向地图中该位置的字符。我也有用户的当前位置。我已经检查了我的地图是否包含值,位置是否正确,并且我没有试图到达地图中任何超出边界的地方。出于某种原因,我的n=map[…],e=。。。etc不工作,返回错误“nota statement”和“not a statement”;“需要”等。我不明白为什么这不起作用。有什么想法吗2d字符数组java的“非语句”问题,java,arrays,2d,Java,Arrays,2d,我有一个地图的2d字符数组,数组中的每个位置都指向地图中该位置的字符。我也有用户的当前位置。我已经检查了我的地图是否包含值,位置是否正确,并且我没有试图到达地图中任何超出边界的地方。出于某种原因,我的n=map[…],e=。。。etc不工作,返回错误“nota statement”和“not a statement”;“需要”等。我不明白为什么这不起作用。有什么想法吗 public String look(int[] position, char[][] mapArray) {
public String look(int[] position, char[][] mapArray)
{
char[][] map = mapArray;
char n;
char e;
char s;
char w;
int across;
int down;
across = position[0];
down = position[1];
System.out.println(across);
System.out.println(down);
n = map[(down + 1),across];
e = map[down, (across + 1)];
s = map[(down - 1), across];
w = map[down, (across - 1)];
//System.out.println("Across" + across);
//System.out.println("Down" + down);
//System.out.println("N" + n);
//System.out.println("E" + e);
//System.out.println("S" + s);
//System.out.println("W" + w);
return "hello";
}
要访问二维阵列,您需要:
n = map[(down + 1)][across]
而不是
n = map[(down + 1),across]
[其他2d阵列访问也是如此]
其思想是:map[down+1]为您提供一个char[],然后您可以像任何数组一样访问此char[],因此您可以使用两个[]来访问所需的二维数组:
n = map[(down + 1)][across]
而不是
n = map[(down + 1),across]
[其他2d阵列访问也是如此]
这个想法是:map[down+1]给你一个char[],然后你像任何数组一样访问这个char[],因此你使用两个[]它应该是:
n = map[(down + 1)][across];
n = map[(down + 1)][across];
应该是:
n = map[(down + 1)][across];
n = map[(down + 1)][across];
这应该是:
n = map[(down + 1)][across];
n = map[(down + 1)][across];
这应该是:
n = map[(down + 1)][across];
n = map[(down + 1)][across];
谢谢,多愚蠢的问题啊!我会尽快挑选你作为最佳答案。谢谢,这是一个多么愚蠢的问题!我会尽快挑选你作为最佳答案。