Разные методы для разных типов

  • 8
  • Недоступна
Итак, полиморфизм. Вы о нём ещё не забыли? Тогда решаем следующую задачку: считываем с консоли данные, пока не будет введено слово "exit". Для каждого значения, кроме "exit", вызываем метод print, какой именно принт — зависит от значения. Например, если значение содержит точку, то вызываем print для Double, а если это число от 0 до 128 — то для short.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (173)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Sergey Bezverkhniy15 уровень
пятница, 17:08
Когда мозг не соображает (вообще) после работы, а двигаться дальше и выполнять норму часов по java надо: просто копирую решение, описываю каждую строчку и по описанию набираю код. Ситуация проясняется и приходит понимание. В общем для тех кому тяжело) // класс решение // метод старт(публ статический) с исключен // чтение с консоли // условие бесконечного цикла // созд. стр переменную s; прис-м s cчитаное // если s равняется "exit" останавливаем // открываем попытку с исключением // созд. int integer; прис-м ей считанное (s) // если integer >= 128 и <=0 то print для int // другой вариант // созд. short shortNumber; прис-м привиденный // к short integer и вызываем print для short // продолжаем // реализуем исключение e // открываем попытку // созд. double dubleNum; прис-м ей считанное(s) // вызываем print для double // продолжаем // реализуем исключение ее // вызываем print для s // закрываем исключение e
Stanislav Rakov16 уровень, Москва
31 мая, 08:36
8 раз переделывал работающий код, почти с нуля, что бы угодить валидатору. жесть.
Андрей Кутиль18 уровень, Киев
29 мая, 09:31
Сделал на третий раз) Подсказка которая спасет вас, напоминаю, существует try catch. Все)) Я тупонул и проверял условиями и циклами. В итоге проверял является ли строка вообще цифрами, а не текстом... После этого понятно зачем исключения. Очень полезная задачка!
hardcore16 уровень, Гомель
20 мая, 13:29
Хорошая задачка. Тупил с длинными числам и выводом их чз String. Помог пересмотр порядка преобразования от меньшего к большему.
Anton Rymarenko22 уровень
18 мая, 09:06
Делал так : обернул все в блок try .Сначала проверил или значение число ,дальше по условию или "." short integer .Словил ошибку:если строка - вызов принт ,если exit - то остановка.
Антон Величко18 уровень, Санкт-Петербург
13 мая, 19:13
Полезная задачка, написал дополнительные методы boolean isDouble(String str), boolean isShort... (чтобы не городить три тысячи условий в теле main), которые отлавливают через try...catch исключение и возвращают значение true/false в зависимости от результата... ну а в методе main реализовал основные проверки больше/меньше и т.д. и вуаля с первой попытки :-)
Alexey Matias17 уровень, Санкт-Петербург
17 мая, 15:31
Хороший вариант, но с точки зрения производительности лучше написать один метод на проверку числа, используя регулярные выражения :) str.matches("-?\\d+(\\.\\d+)?")
Askar16 уровень
12 мая, 01:05
Потратил 4 часа и 8 попыток. И все из-за того что вывел за цикл чтение строки String str = reader.readLine(); ((((
Наталья 23 уровень, Москва
10 мая, 07:01
Решила через Scanner без try - catch.
Павел18 уровень
27 апреля, 19:57
Сам в шоке. Наиполезнейшая задача. В вечном цикле сначала проверяем введенную строку на exit, потом все условия проверяются через блок try-catch и вызывается соответствующий метод.
Максим18 уровень
26 апреля, 09:52
Полезная и интересная задача. Пригодились ранее полученные знания ))))