Парсер реквестов

  • 8
  • Недоступна
Считайте с консоли URL-ссылку. Затем выведите на экран через пробел список всех параметров (Параметры идут после ? и разделяются &, например, lvl=15). URL содержит минимум 1 параметр. Если присутствует параметр obj, то передайте его значение в нужный метод alert.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (248)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Abdumalik Saidov15 уровень
позавчера, 12:50
https://www.youtube.com/playlist?list=PL786bPIlqEjQsE_WAcKpkZ-Q4T-A8j1D2
Artrem16 уровень
позавчера, 11:45
Интересная задача, пришлось продумывать. Решил без LinkedHashMap, прошел строку циклом 1 раз, выловил всё что мне нужно с помощью .charAt(i); double проверил через try/catch
Александр16 уровень
понедельник, 10:53
гугл помогает)
Vit16 уровень, Москва
пятница, 21:40
6 часов!!!! 6 попыток!!! но без подсказок
nikitarad@bk.ru17 уровень, Москва
17 апреля, 20:50
Спасибо всем, без помощи бы с задачей не справился! Ушел целый день, в несколько подходов по 2-3 часа. Решение заняло 38 строк. 1 попытка. В решении использовал: 1. LinkedHashMap<String, String> - изучали на JR 2. Циклы foreach(для чтения LinkedHashMap<String, String> без итератора ) - изучали на JR 3. Contains() - https://bunkerbook.ru/uroki-po-java/metod-contains-v-java/ (Содержит ли в строке ?) 4. indexOf() - http://proglang.su/java/strings-indexof (какой индекс строки содержит символ ?) 5. split() -http://proglang.su/java/strings-split (нарезает по указаному символу. Например искомый &) 6. substring() http://proglang.su/java/strings-substring (отрезает нужный кусок строки) Также try-catch был полезен при проверки на возможность преобразования значения параметра "obj" для перегрузки в методы "alert" Вынес урок из задачи, - вJOBывать надо как Гермиона в библиотеке, чтобы тебя в Хогвартс взяли)
fedor18 уровень, Москва
11 апреля, 11:51
используем
new LinkedHashMap<>();
ибо важно сохранить порядок вывода - как в строчке слева направо выбор метода alert() : сначала из try{} пробуем alert(double value), в catch{} - второй
RTwo Dtwo16 уровень, Москва
10 апреля, 20:51
На фоне других задач - эта сложнее. Сложно,но интересно. Потратил на решение пару дней, но остался доволен результатом. Кто сделал в несколько строк, подскажите каким образом Вы решили эту задачу - очень интересно. Моё решение заняло 52 строки. Пользовался классом URL и HashMap.
Семён20 уровень, Екатеринбург
8 апреля, 23:26
Я подумал, что если число не дробное, то нужно считать его за строку - это неверно. Если число без точки, программа должна просто преобразовывать его в double и выводить с точкой 123.0. Проверку сделал в отдельном методе boolean isDouble, который ловит исключение и возвращает false, если нельзя преобразовать в double. В остальном задача на строковые методы equals, contains, substring, indexOf, length. Регулярными выражениями не пользовался, как некоторые в камментах ниже. Список Map делать не надо, потому что переменные нужно выводить в таком же порядке, как они идут в строке, а в него добавляются пары абы как, я через 2 листа сделал. Еще у кого строка не вводится в консоль, а начинает по ссылке браузер открывать, то нажмите пробел перед вводом, либо сотрите последний символ и напечатайте его опять.
Владлен19 уровень, Санкт-Петербург
3 апреля, 10:58
Исключение ловите рантайм...! Класскэст...не устроил валидатор, хотя именно такое исключение возникало у меня.
Oleg19 уровень
2 апреля, 18:48
Прочитал задачу сто раз, в итоге не допер вообще что от меня хотят! Где логика у того человека, который писал эту задачу???? Вывести на экран через пробел список всех параметров (Параметры идут после ? и разделяются &, НАПРИМЕР, lvl=15). ТО ЕСТЬ ПРИМЕР: lvl=15 И здесь же просит вывести: lvl view name Далее про передачу в метод вообще не хватает культуры речи. "Если присутствует параметр obj, то передать его значение в нужный метод alert". Когда дошел до 15 уровня, сидел два месяца по 8 часов, и в середине понял, что либо клинически болен, либо задачи писали в состоянии далеком от трезвого.
fedor18 уровень, Москва
11 апреля, 11:55
параметр = lvl значение параметра = 15 "=" в урле - это разделитель
Игорь22 уровень, Минск
11 апреля, 16:33
Прежде чем бычить, следует хорошо подумать или на худой конец просто поинтересоваться: Пример: http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo http:// - протокол javarush.ru - имя сервера alpha/index.html - страница ?lvl=15&view&name=Amigo - параметры, идущие после ? и разделяющиеся & Параметры в данном случае: lvl, view, name, два из которых имеют значения, что не так?
Александр19 уровень
13 апреля, 08:09
Все там правильно. "Например, lvl=15" означает что это пример параметра. а вывод "lvl view name" это и есть список параметров. lvl - Это идентификатор(или имя) параметра, 15 - это значение параметра. И когда просят вывести список параметров это и означает вывести список имен.