День потратил,мыслей больше свежих нет.
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws Exception{
Map<String,String> map = new LinkedHashMap<>();
ArrayList<Integer> index = new ArrayList<>();
ArrayList<String> list = new ArrayList<>();
int count = 0;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String url = reader.readLine();
//String url = "http://javarush.ru/alpha/index.html?obj=3.14&name=Amigo&put=234";
StringBuffer sbf = new StringBuffer(url);
//index add----------------------------------------------------------------
for(int i = 0; i < url.length(); i++) {
list.add(String.valueOf(url.charAt(i)));
count++;
if(list.get(i).contains("?") || list.get(i).contains("=") || list.get(i).contains("&")) {
index.add(count);
}
}
index.add(url.length() + 1);
//parsing the url----------------------------------------------------------
try{
for(int i = 0; i < index.size(); i++) {
map.put(sbf.substring(index.get(i),index.get(i + 1) - 1),sbf.substring(index.get(i + 1),index.get(i + 2) - 1));
i++;
}}catch (IndexOutOfBoundsException i){}
//System.out.println(map);
// map.remove("3.14");
for (Map.Entry<String, String> e : map.entrySet()) {
Object key = e.getKey();
System.out.print(key);
System.out.print(" ");
}
System.out.println();
if(map.get("obj") != null) {
try {
alert(Double.parseDouble(map.get("obj")));
} catch (NumberFormatException e) {
alert(map.get("obj"));
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}