我正在尝试创建一个二维数组,它一直给我错误.~ 你能帮我搞清楚我做错了吗?
char [][] numero0 = new char [7][4];
numero0[][] = { {'.', '#', '#', '.'},
{'#', '.', '.', '#'},
{'#', '.', '.', '#'},
{'.', '.', '.', '.'},
{'#', '.', '.', '#'},
{'#', '.', '.', '#'},
{'.', '#', '#', '.'} };
误差修改:
非法表达开头
不是声明
';'预期
答案 0 :(得分:1)
除非声明数组变量,否则您无法使用初始化程序语法。
所以,要么:
char[][] array = { { ... } };
或
char[][] array = new char[][] { { ... } };
或
char[][] array; // Don't assign new char[7][4] here, it is overwritten in the next line.
array = new char[][] { { ... } };
答案 1 :(得分:0)
numero0[][] = { { ... }};
应为numero0 = new char[][] { { ... } };
。
答案 2 :(得分:0)
示例代码:
public class TwoDarray {
public static void main(String args[]){
char numero0[][] = { {'.', '#', '#', '.'},
{'#', '.', '.', '#'},
{'#', '.', '.', '#'},
{'.', '.', '.', '.'},
{'#', '.', '.', '#'},
{'#', '.', '.', '#'},
{'.', '#', '#', '.'} };
for (int i = 0; i < numero0.length; i++) { //printing 2d-array as matrix with index so that you get a better picture of 2d array.
for (int j = 0; j < numero0[i].length; j++) {
System.out.print(" ( " + i + "," + j + " ) " + numero0[i][j]);
}
System.out.println();
}
}
}
将2d-array打印为带索引的矩阵,以便您获得更好的效果 2d阵列的图片。
输出
正确的方法在Java中声明和初始化二维数组:
在java中声明多维数组的语法:
dataType[][] arrayRefVar; (or)
dataType [][]arrayRefVar; (or)
dataType arrayRefVar[][]; (or)
dataType []arrayRefVar[];
在java中实例化多维数组的示例:
int[][] arr=new int[3][3];//3 row and 3 column
在java中初始化多维数组的示例:
arr[0][0]=1;
arr[0][1]=2;
arr[0][2]=3;
arr[1][0]=4;
arr[1][1]=5;
arr[1][2]=6;
arr[2][0]=7;
arr[2][1]=8;
arr[2][2]=9;
声明并初始化2D数组:
int arr[][]={{1,2,3},{4,5,6},{7,8,9}};
注意:强>
您在第1行实例化,即 char [] [] numero0 = new char [7] [4]; 并尝试在不提供索引的情况下初始化数组 第二行。
您可以使用循环来初始化和打印多维数组。
我希望我能提供帮助:)