Необходимо вывести крест из х

Пробовала решения из похожих вопросов, ни одно не сработало. Помогите пожалуйста. Крестик распечатывается, но проблема заключается в том, что код вообще не проходит автотесты. Подскажите что не так. Вот код:

public class TwoDimensionalArray {

    public static final char SYMBOL = 'X';

    public static char[][] getTwoDimensionalArray(int size) {

        //TODO: Написать метод, который создаст двумерный массив char заданного размера.
        // массив должен содержать символ SYMBOL по диагоналям, пример для size = 3
        // [X,  , X]
        // [ , X,  ]
        // [X,  , X]

        String[][] cross = new String[size][size];
        for(int i = 0; i < cross.length; i++){
            for (int j = 0; j < cross[i].length; j++) {
                cross[i][j] = (j == i || j == cross.length - 1 - i) ? "x" : " ";
                System.out.print(cross[i][j]);
            }
            System.out.println();
        }


        return new char[0][0];
    }
}

Вот фото того как выглядит разница между тем что требуется и тем что получается у меня: введите сюда описание изображения


Ответы (2 шт):

Автор решения: MBo

Замените возвращаемое значение на

return cross;

Объявите массив как

char[][] cross = new char[size][size];

И кавычки при присвоении одинарные

... ? 'x' : ' ';

Проверено на https://www.onlinegdb.com/online_java_compiler :

public class Main
{
    public static char[][] getTwoDimensionalArray(int size) {

        //TODO: Написать метод, который создаст двумерный массив char заданного размера.
        // массив должен содержать символ SYMBOL по диагоналям, пример для size = 3
        // [X,  , X]
        // [ , X,  ]
        // [X,  , X]

        char [][] cross = new char[size][size];
        for(int i = 0; i < cross.length; i++){
            for (int j = 0; j < cross[i].length; j++) {
                cross[i][j] = (j == i || j == cross.length - 1 - i) ? 'x' : ' ';
                //System.out.print(cross[i][j]);
            }
            //System.out.println();
        }


        return cross;
    }
    
    public static void main(String[] args) {
         char [][] cross = getTwoDimensionalArray(3);
         for(int i = 0; i < cross.length; i++){
            for (int j = 0; j < cross[i].length; j++) {
                System.out.print(cross[i][j]);
            }
            System.out.println();
        }
         
    }
}
→ Ссылка
Автор решения: Arina
public class TwoDimensionalArray {

    public static final char SYMBOL = 'X';

    public static char[][] getTwoDimensionalArray(int size) {

        //TODO: Написать метод, который создаст двумерный массив char заданного размера.
        // массив должен содержать символ SYMBOL по диагоналям, пример для size = 3
        // [X,  , X]
        // [ , X,  ]
        // [X,  , X]

        char[][] cross = new char[size][size];
        for(int i = 0; i < cross.length; i++){
            for (int j = 0; j < cross[i].length; j++) {
                if (j == i || j == cross.length - 1 - i) {
                    cross[i][j] = 'X';
                } else {
                    cross[i][j] = ' ';
                }
                System.out.print(cross[i][j]);
            }
            System.out.println();
        }

        return cross;
    }
}
→ Ссылка