как написать код, На каждом этаже многоэтажного дома расположены три квартиры;
счет квартир идет слева направо. Например, на первом этаже квартира
№ 1 расположена слева, квартира № 2 - в центре, квартира № 3 -
справа, и так далее.
Напишите класс, который принимает с клавиатуры номер квартиры и выводит на экран следующую информацию: на каком этаже она расположена, и какое место (слева, справа или в центре) она занимает на этом
Anonymous #2799938
11 уровень
Задача
Комментарии (14)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sibir2007
11 апреля 2022, 17:19
Я решил это так, вроде как попроще будет. И загадывай хоть небоскреб по 3 квартиры на этаже :)
0
fFamous
22 сентября 2021, 11:32
# - подставь сам 🙃
0
VladimirMaster
22 сентября 2021, 14:06
А если в доме стопятьсот подъездов и стопятьсот этажей?
0
fFamous
22 сентября 2021, 14:36
Тогда добавить:
Но это наверное тупо, но работает. Если подумать получше или быть поумнее, наверное лучше можно решение придумать или вообще написать метод так, чтоб получить рекурсию, но я пока до этого не дошел) 0
fFamous
22 сентября 2021, 18:25
Чет подумал еще немного и вот, лучше решение и без цикла:
Но выглядит как-то не очень, все равно 🙃 0
VladimirMaster
22 сентября 2021, 18:54
Но выглядит как-то не очень
Нарушен принцип наименьшего удивления и в коде присутствует магическое число, что не есть гуд.
0
fFamous
22 сентября 2021, 20:21
А ты бы как написал?
0
VladimirMaster
22 сентября 2021, 23:34
Задаем этажность дома, затем задаем количество подъездов. Затем бежим снизу вверх, слева направо и если номер найден то выводим на каком этаже, в каком подъезде находится число.
0
Павел
22 сентября 2021, 10:51
Ты забыл, дом из 5 подъездов😋
0
Сергей Я Java Developer в DXC/Luxoft Expert
22 сентября 2021, 08:48
Если по простому в виде алгоритма, то дом можно представить в виде матрицы (двумерный массив), где индекс первого массива будет этажом, , а индекс вложенного массива идентификатором расположения (при этом длина внутреннего массива равна количеству квартир на этаже). Останется только эту идею воплотить в коде =)
Сомневаюсь что эта задача на построение сложной архитектурной программы с классами "Дом", "Этаж", "Квартира" и взаимоотношениям между ними.
0
Павел
22 сентября 2021, 09:46
в виде матрицы (двумерный массив)
мне кажется тут можно арифметикой начальной школы обойтись🙃
+2
Сергей Я Java Developer в DXC/Luxoft Expert
22 сентября 2021, 13:51
ну так не зря есть принцип KISS. Не стоит усложнять то, что можно решить просто
+1
Павел
22 сентября 2021, 08:31
1. Для начала нужен алгоритм решения.
Если его нет, то представь что это просто задачка из школы:
"Почитайте на каком этаже находятся квартиры если (тут то что ты написал про дом) и номера квартир: 10 , 15, 6." Решить это думаю не сложно. На основании решений вырисуется алгоритм, запиши его словами, типа: "Нужно взять вот это и поделить на вот на это"
2. Потом нужно писать код. Смотри на условия. Кроме решения самой дачи в условиях есть дополнительные условия: что нужно принимать с клавиатуры текст и что то выводить на экран.
Делим написание кода на этапы:
- первый это будет класс который принимает число с клавиатуры
- второй вывод на экран (пусть пока это будет тоже самое введенное число умноженное на 2 например)
- потом вместо умножения на два поставишь код с алгоритмом
Все эти этапы можно нагуглить:
например ввод с клавиатуры
Вывод на экран это System.out.println();
Пиши код где застрянешь, пиши в общий чат или обновляй тут и проси всех в чате посмотреть
0
wan-derer.ru
22 сентября 2021, 07:59
Так. И где твой код?
+4