
Выведите ошибку по языку Java! Программа запрашивает число N, затем мы создаем двумерный массив N
x N и заполняем их числами. Программа должна вывести массив таким образом, как в нижних примерах. Ввод: 3 0 -2 3 -5 8 -8 1 2 3 Вывод: x -2 x -5 x -8 x 2 x Мое решение: import java.util.Scanner; public class Main{ public static void main (String [] args){ Scanner in = new Scanner (System.in); int n = in.nextInt(); int mass[][] = new int [n][n]; for(int i=0;i for(int j=0;j mass [i][j] = in.nextInt(); } } for(int i =0;i for(int j = 0;j if(j>=n-1-i){ System.out.print("x "); }else{ System.out.print(mass[i][j]+ " "); } } System.out.println(); } } }

Ответы на вопрос

Ответ:
Как я понял,нужно было вывести главную и побочную диагонали.
Ошибки:
- пропущены скобки,как обычные так и фигурные;
- пропущены знаки ";","<" и т.д.;
Легче было заново написать чем исправлять.
Вот мой код:
import java.util.Scanner;
public class Main{
public static void main (String [] args){
Scanner in = new Scanner (System.in);
int n = in.nextInt();
int mass[][] = new int [n][n];
int i,j;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
mass[i][j]=in.nextInt();
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if((i==j) || j==(n-1-i)){
System.out.print("x");
}else System.out.print(mass[i][j]);
}
System.out.println();
}
in.close();
}
}
Объяснение:
Краткий алгоритм программы:
- Импортируем Scanner;
- Объявляем переменную in типа Scanner,для ввода;
- Объявляем переменную n типа int,для хранения размера массива;
- Объявляем две переменные i и j типа int,для циклов;
- В первом "двойном" цикле мы заполняем массив числами;
- Во втором "дойном" цикле мы мы сравниваем индексы массива и выводим результат;
- Закрываем Scanner;



В вашем коде есть небольшая ошибка в условии вывода символа "x" или числа. Вам следует заменить "if (j >= n-1-i)" на "if (j >= n-1-i)", чтобы код работал корректно. Вот исправленный код:
javaimport java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[][] mass = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
mass[i][j] = in.nextInt();
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (j >= n - 1 - i) {
System.out.print("x ");
} else {
System.out.print(mass[i][j] + " ");
}
}
System.out.println();
}
}
}
Теперь код должен работать правильно и выводить массив в соответствии с вашими ожиданиями.


Похожие вопросы

Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili