Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.task.task15.task1527;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.LinkedHashMap;
- /*
- Парсер реквестов
- Считать с консоли URL-ссылку.
- Вывести на экран через пробел список всех параметров (Параметры идут после ? и разделяются &, например, lvl=15).
- URL содержит минимум 1 параметр.
- Выводить параметры нужно в той же последовательности, в которой они представлены в URL.
- Если присутствует параметр obj, то передать его значение в нужный метод alert.
- alert(double value) - для чисел (дробные числа разделяются точкой)
- alert(String value) - для строк
- Пример 1
- Ввод:
- http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo
- Вывод:
- lvl view name
- Пример 2
- Ввод:
- http://javarush.ru/alpha/index.html?obj=3.14&name=Amigo
- Вывод:
- obj name
- double 3.14
- */
- public class Solution {
- public static void main(String[] args) {
- //add your code here
- try {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String s = reader.readLine();
- reader.close();
- String params = s.substring(s.indexOf("?") + 1);
- String[] splitParts = params.split("&");
- LinkedHashMap<String, String> parameters = new LinkedHashMap<String, String>();
- for (int i = 0; i < splitParts.length; i++) {
- int posEqualChar = splitParts[i].indexOf("=");
- if (posEqualChar < 0) {
- parameters.put(splitParts[i], null);
- continue;
- }
- String key = splitParts[i].substring(0, posEqualChar);
- String value = splitParts[i].substring(posEqualChar + 1);
- parameters.put(key, value);
- }
- for (String key : parameters.keySet()) {
- System.out.print(key + " ");
- }
- System.out.println();
- String objParameter = parameters.get("obj");
- if (objParameter == null) {
- return;
- }
- try {
- alert(Double.parseDouble(objParameter));
- }
- catch (NumberFormatException e) {
- alert(objParameter);
- }
- }
- catch (IOException e) {
- e.printStackTrace();
- }
- }
- public static void alert(double value) {
- System.out.println("double " + value);
- }
- public static void alert(String value) {
- System.out.println("String " + value);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement