二维数组java - 多个错误

时间:2018-02-17 14:23:46

标签: java arrays 2d

我正在尝试创建一个二维数组,它一直给我错误.~ 你能帮我搞清楚我做错了吗?

char [][] numero0 = new char [7][4];
numero0[][] = { {'.', '#', '#', '.'},
                {'#', '.', '.', '#'},
                {'#', '.', '.', '#'},
                {'.', '.', '.', '.'},
                {'#', '.', '.', '#'},
                {'#', '.', '.', '#'},
                {'.', '#', '#', '.'} };

误差修改:

非法表达开头
不是声明
';'预期

3 个答案:

答案 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[][] { { ... } };

请参阅the following snippet

答案 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阵列的图片。

输出

enter image description here

正确的方法在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]; 并尝试在不提供索引的情况下初始化数组   第二行。

     

您可以使用循环来初始化和打印多维数组。

我希望我能提供帮助:)