非法的char初始化程序-如何解决?

问题描述

我想指定打印字符,但是这里出现错误。我该怎么办? (请参阅我的代码)我只是用Java自学的……差不多一个月了。

public class l2{
public static void main(String[] args){

    char table = {{'A','B','C','D'},{'E','F','G','H'},{'I','J','K','L'},{'M','N','O','P'}};
    final int rowSize = 4;
    final int columnSize = 4;
    String[][] a = new String[rowSize][columnSize];
    // iterate
    for (int row = 0; row < rowSize; row++) {
        for (int column = 0; column < columnSize; column++) {
            a[row][column] = Char.valueOf(ar.charat(rowSize * row + column));
        }
    }
    // test
    for (int row = 0; row < rowSize; row++) {
        for (int column = 0; column < columnSize; column++) {
            System.out.print(a[row][column] + " ");
        }
        System.out.println();
    }
}
}

错误是:

l2.java:4: error: illegal initializer for char
char table = {{'A','P'}};

l2.java:7: error: cannot find symbol Char[][] a = new Char[rowSize][columnSize];
^ symbol: class Char location: class l2
l2.java:7: error: cannot find symbol Char[][] a = new Char[rowSize][columnSize];
^ symbol: class Char location: class l2
l2.java:11: error: cannot find symbol a[row][column] = Char.valueOf(ar.charat(rowSize * row + column));

解决方法

如果您的目标是在输出中打印“表A B ...”,则可以执行以下操作:

public class MyClass{

    public static void main(String[] args) {

        char[][] table = {{'A','B','C','D'},{'E','F','G','H'},{'I','J','K','L'},{'M','N','O','P'}};
        final int rowSize = 4;
        final int columnSize = 4;
        
        for (int row = 0; row < rowSize; row++) {
            for (int column = 0; column < columnSize; column++) {
                System.out.print(table[row][column] + " ");
            }
            System.out.println();
        }
    }
} 

输出:

A B C D 
E F G H 
I J K L 
M N O P