JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Что не так ? НЕРЕШЕНО ))
Neo
28 уровень
  • 19.05.2020
  • 519просмотров
  • 7комментариев

Что не так ? НЕРЕШЕНО ))

Вопрос по задаче Нужно добавить в программу новую функциональность
Java Syntax,  8 уровень,  11 лекция
Решен

Задача: Программа определяет, какая семья (фамилию) живёт в доме с указанным номером.
Новая задача: Программа должна работать не с номерами домов, а с городами:

Пример ввода:
Москва
Ивановы
Киев
Петровы
Лондон
Абрамовичи

Лондон

Пример вывода:
Абрамовичи

Требования:
  • Программа должна выводить текст на экран.
  • Программа должна считывать значения с клавиатуры.
  • Класс Solution должен содержать один метод.
  • Программа должна вывести фамилию семьи по введенному городу.
....
package com.javarush.task.task08.task0829; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; /* Модернизация ПО */ public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); HashMap<String , String> houseFamily = new HashMap<>(); while (true) { String city = reader.readLine(); String family = reader.readLine(); if (!city.equals(null) || !family.equals(null)) { houseFamily.put(city, family); } else break; } String yourCity = reader.readLine(); reader.close(); for (Map.Entry entry: houseFamily.entrySet()) { if (yourCity.equals(entry.getKey())) { System.out.println(entry.getValue()); } } } }
0
Комментарии (7)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Neosoftware engineer в matrix
19 мая 2020, 16:14
while (true) {
            String city = reader.readLine();
            if (city.isEmpty()) {
                break;
            }
            String family = reader.readLine();
            if (family.isEmpty()) {
                break;
            }
            houseFamily.put(city, family);
        }
        String inputCity = reader.readLine();
        for (Map.Entry entry : houseFamily.entrySet()) {
            if (inputCity.equals(entry.getKey())) {
                System.out.println(entry.getValue());
            }
        }
Валидатор хавает, но не работает
0
Ksenia VolkovaJava Developer в DXCMaster
19 мая 2020, 16:16
Что именно не работает? Кстати, для того, чтобы найти в мапе значение по ключу, совсем не обязательно перебирать все записи.
0
Neosoftware engineer в matrix
19 мая 2020, 16:24
Не работает конструкция foreach. Не выводит ничего на экран
0
Ksenia VolkovaJava Developer в DXCMaster
19 мая 2020, 17:20
Как ты запускаешь? что вводишь?
0
Neosoftware engineer в matrix
19 мая 2020, 17:38
Запускаю в IDE, логично же, нет ? Ввод: ГородА ФамилияА ГородБ ФамилияБ при пустом лайне срабатывает только
if (city.isEmpty() | family.isEmpty()) {
                break;
            }
И програма заканчивает свой жизненный цыкл
0
Ksenia VolkovaJava Developer в DXCMaster
19 мая 2020, 17:43
Откуда ж я знаю, где ты запускаешь? Можект, на сайте или в приложении... Или в IDE запускаешь не тот класс. Я у себя запускаю твой код. Ввожу пары город-фамилия, потом пустую строку, потом город. Выводит фамилию. Код можно оптимизировать, конечно, но он рабочий.
0
Neosoftware engineer в matrix
19 мая 2020, 15:48
Понял, что while зациклен, поменял механизм
while (true) {
            String city = reader.readLine();
            String family = reader.readLine();
            if (city.isEmpty() | family.isEmpty()) {
                break;
            }
            houseFamily.put(city, family);
        }
Только вот ничего так и не выводит Не понимаю, почему for each не работает
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush