валидатор пишет - Программа должна вызывать метод alert с параметром double в случае, если значение параметра obj может быть корректно преобразовано в число типа double.
а он у меня и выводит
obj name
double: 3.14
что не нравится не могу понять(((
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.LinkedHashMap;
import java.util.Map;
import java.util.regex.Pattern;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
String[] ss = s.split("\\?");
String[] pairs = ss[1].split("&");
LinkedHashMap<String, String> hashMap = new LinkedHashMap<>();
for (int i = 0; i<pairs.length; i++){
String [] value = pairs[i].split("=");
if (value.length>1){
hashMap.put(value[0], value[1]);
}
else hashMap.put (value [0], null);
}
for (Map.Entry<String, String> a: hashMap.entrySet()){
System.out.print(a.getKey() + " ");
}
System.out.println();
for (Map.Entry<String, String> a: hashMap.entrySet()){
if (a.getKey().equals("obj")){
String decimalPattern = "([0-9]*)\\.([0-9]*)";
boolean match = Pattern.matches(decimalPattern, a.getValue());
if (match) {
try {
alert(Double.parseDouble(a.getValue()));
} catch (Exception e) {
}
}
else alert(a.getValue());
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}