JavaRush
Акция
Университет
Java FullStack
Python FullStack
new
Web FullStack
new
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Подскажите пожалуйста вроде все работает но программа п...
Никита Свиридов
30 уровень
  • 24.09.2022
  • 310просмотров
  • 2комментариев

Подскажите пожалуйста вроде все работает но программа проверки не засчитывает решение. Что у меня не так с кодом?

Вопрос по задаче Шахматная доска
Java Syntax,  6 уровень,  5 лекция
Обсуждается


Давай создадим программу для генерации квадратных шахматных досок с заданной размерностью. В классе Solution дан двумерный массив символов (поле array). Необходимо:

  • считать число с клавиатуры — это и будет размерность нашей будущей доски (длина стороны);
  • инициализировать массив array соответствующим значением;
  • "закрасить" массив так, чтобы получилась шахматная доска (черные клетки — '#', белые — ' '). Начинаем заполнять массив с '#' с верхнего левого угла;
  • вывести массив на экран в таком виде, как в примере (каждую строку отдельно).

Пример вывода для числа 5:
# # #
 # #
# # #
 # #
# # #

Требования:
  • В программе нужно считывать число с клавиатуры.
  • Поле array необходимо проинициализировать массивом подходящего размера.
  • Массив array необходимо заполнить согласно условию.
  • В программе нужно вывести элементы массива на экран (см. пример в условии).
package com.javarush.task.jdk13.task06.task0634; import java.util.Scanner; /* Шахматная доска */ public class Solution { public static char[][] array; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); array = new char[a][a] ; for(int i = 0; i < array.length;i++) { for(int j = 0; j < array[i].length;j++) { if((i + j) % 2 == 0) { System.out.print('#'); }else { System.out.print(' '); } }System.out.println(); }}}
0
Комментарии (2)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Владислав Чуб
Уровень 9
24 сентября 2022, 19:40
Как бы так объяснить, чтоб понятно было... В общем, стратегия у вас правильная. Думаете в нужную сторону, но у Вас массив не заполнен. Иными словами, у вас инициализация массива отдельно, а вывод символов отдельно. Программа не берет значения "#" и " " из массива, она просто их выводит от балды, потому что вы ей так сказали. А Вам нужно сначала заполнить массив используя вашу логику с "(i + j) % 2 == 0)", присвоить значения "пустым клеточкам", положить в них те самые смиволы. Итого, у вас должно получиться 2 цикла. В первом - заполняем массив. Во втором - выводим элементы массива на экран. В вашем случае, вы должны выводить не просто: "System.out.print('#');" а делать это через привязку к массиву! Подводя итог: Вот в первом цикле принтлнЫ вообще нафиг не нужны, в первом цикле вы должны заполнить массив! Вместо "System.out.print('#');" и "System.out.print(' ');" и там и там должны быть другая команда, которая кладет значения "#" и " " в ячейки массива! (Какая не скажу, ибо это читерство), А потом, когда вы положите значения в массив, тогда уже напишете еще один цикл ниже, который будет это все выводить. Надеюсь, помог =)
+3
KIRAРазработчик в prosv.ruExpert
24 сентября 2022, 07:18
Массив надо заполнить, а у вас только вывод
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush