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

Объясните пожалуйста почему не проходит первое условие с кликом левой мыши

Вопрос по задаче Работаем со списком координат
Java Syntax,  20 уровень,  5 лекция
Решен


Перед тобой — поле 10x10, которое заполняется белым цветом.
Тебе нужно реализовать метод onMouseLeftClick(int, int), который будет закрашивать нажатую клетку оранжевым цветом, и если в списке cells нет таких координат, добавлять их.
Также тебе нужно реализовать метод onMouseRightClick(int, int), который должен закрашивать нажатую клетку белым цветом, и если координаты этой клетки есть в списке cells — удалить эту клетку из списка.

Требования:
  • Реализуй метод onMouseLeftClick(int, int) согласно условию.
  • Реализуй метод onMouseRightClick(int, int) согласно условию.
package com.javarush.games.minigames.mini12; import java.util.Objects; public class Cell { private int x; private int y; public Cell(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public int getY() { return y; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Cell cell = (Cell) o; return x == cell.x && y == cell.y; } @Override public int hashCode() { return Objects.hash(x, y); } }
0
Комментарии (11)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Bandiu Band
Уровень 25
17 октября 2022, 14:36
Проблема в 30 стрічці, ви не перевіряєте чи є в списку клітка з такими координатами(використайте equals()). Така умова : (!cells.contains(s)) буде давати постійно "false", так як ви перевіряєте, чи !(є в списку) елемент того ж списку.
0
Kris86
Уровень 1
17 октября 2022, 14:42
if(!cells.equals(s))


тоже не верно
0
Сергей В.
Уровень 32
17 октября 2022, 14:29
Попробуй местами х,у поменять тут: cells.add(new Cell(y,x));
0
Kris86
Уровень 1
17 октября 2022, 14:34
пробовала и так... не проходит.. думаю, после верной валидации мне напишут что прошла где-то с 103 раза😂
0
Kris86
Уровень 1
17 октября 2022, 14:36
странно, что в идеи у меня стоит (х,у)
0
Сергей В.
Уровень 32
17 октября 2022, 14:48
логика цикла в методе вообще не ясна. Попробуй подумать над этим ) У тебя в if cells.contains(s) будет всегда true
0
Kris86
Уровень 1
17 октября 2022, 15:01
почему true? допустим...тогда в таком варианте что не так с логикой? if(s.getX()!= x && s.getY() != y)
0
Сергей В.
Уровень 32
17 октября 2022, 15:09
for (Cell s : cells) { if (!cells.contains(s)) Ты проходишься по списку и проверяешь, есть ли в нём каждый его элемент. Ну конечно же он там есть! ) Тебе же нужно проверить, есть ли в списке элемент с переданными в метод значениями (координатами), если нет, то добавить
0
Kris86
Уровень 1
17 октября 2022, 15:33
благодарю за ответы. вернусь к этому вопросу завтра, на свежую голову, сегодня в голове уже каша😅
0
Сергей В.
Уровень 32
17 октября 2022, 15:41решение
Да ну, всего одну строчку поменять нужно ) Вместо цикла создать объект с соответствующими координатами.
+2
Kris86
Уровень 1
18 октября 2022, 08:54
верно 👍 благодарю за правильную подсказку👍 теперь все правильно
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush