【问题标题】:Two dimensional array java - Multiple errors [duplicate]二维数组java - 多个错误[重复]
【发布时间】:2018-07-28 06:43:19
【问题描述】:

我正在尝试创建一个二维数组,但它一直给我错误。~ 你能帮忙弄清楚我做错了什么吗?

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

错误:

表达式的非法开始
不是声明
';'预计

【问题讨论】:

  • 在第二行中,您使用数组初始化语法,这仅在声明数组时有效。但是你分配给一个数组。

标签: java arrays 2d


【解决方案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[][] { { ... } };

【讨论】:

  • 对不起,但这并没有解决错误。不断弹出相同的错误消息。
【解决方案2】:

numero0[][] = { { ... }}; 应该是numero0 = new char[][] { { ... } };

请参阅the following snippet

【讨论】:

    【解决方案3】:

    示例代码:

    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();
            }
        }
    
    
    }
    

    将二维数组打印为带索引的矩阵,以便您获得更好的 二维数组的图片。

    输出:

    在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; 
    

    声明和初始化二维数组:

    int arr[][]={{1,2,3},{4,5,6},{7,8,9}};  
    

    注意:

    您在第 1 行进行实例化,即 char [][] numero0 = new char [7][4]; 并尝试在不提供索引的情况下初始化数组 第二行。

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

    希望对你有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 2014-03-13
      • 2012-11-13
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      相关资源
      最近更新 更多