我有一个带有2d数组的Java代码,我想重写这个代码,让它看起来比我以前写的代码少。
我的代码的主要任务是在1.
有什么办法解决这个问题吗?
我数据:
2 0 0 1 1 0 0 0
0 0 1 0 0 1 0 0
0 0 0 0 0 0 0 0
1 0 1 0 0 1 0 1
1 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
0 0 1 0 0 1 0 0
0 0 0 1 1 0 0 0
我的代码:
for(int i = 0; i < map.length; i++) {
for(int j = 0; j < map.length; j++) {
if(map[i][j] == map[0][3]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[0][4]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[1][2]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[1][5]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[3][0]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[3][2]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[3][5]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[3][7]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[4][7]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[6][2]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[6][5]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[7][3]) {
gc.fillRect(i, j, 1, 1);
}
if(map[i][j] == map[7][4]) {
gc.fillRect(i, j, 1, 1);
}
}
}
将地图中的每个字段与地图中等于1
的每个字段进行比较。所以你可以检查一个字段的值是否为1:
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map[0].length; j++) {
if (map[i][j] == 1) {
gc.fillRect(i, j, 1, 1);
}
}
}