Необходимо вывести крест из х
Пробовала решения из похожих вопросов, ни одно не сработало. Помогите пожалуйста. Крестик распечатывается, но проблема заключается в том, что код вообще не проходит автотесты. Подскажите что не так. Вот код:
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;
}
}