Добрый день!
Не могу понять, почему мое решение не принимается :(
Какое условие я не выполнил ?
http://javarush.ru/alpha/index.html?obj=zzzz&name=Amigo
obj name
String: zzzz
http://javarush.ru/alpha/index.html?obj=3.14&name=Amigo
obj name
double: 3.14
http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo
view lvl name
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String url = reader.readLine();
URL rl = new URL(url);
Map<String, String> stringStringMap = parseQuerystring(rl.getQuery());
Set<String> strings = stringStringMap.keySet();
StringBuilder sb = new StringBuilder();
strings.forEach((s) -> {sb.append(s);sb.append(" ");});
System.out.println(String.valueOf(sb).trim());
if(stringStringMap.containsKey("obj")){
try {
alert(Double.parseDouble(stringStringMap.get("obj")));
} catch (NumberFormatException nfe) {
alert(stringStringMap.get("obj"));
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
public static Map<String, String> parseQuerystring(String queryString) {
Map<String, String> map = new HashMap<String, String>();
if ((queryString == null) || (queryString.equals(""))) {
return map;
}
String[] params = queryString.split("&");
for (String param : params) {
try {
String[] keyValuePair = param.split("=", 2);
String name = URLDecoder.decode(keyValuePair[0], "UTF-8");
if (Objects.equals(name, "")) {
continue;
}
String value = keyValuePair.length > 1 ? URLDecoder.decode(
keyValuePair[1], "UTF-8") : "";
map.put(name, value);
} catch (UnsupportedEncodingException e) {
// ignore this parameter if it can't be decoded
}
}
return map;
}
}