Знаю замудрил но работает а валидатор не принимает почему?
http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo
lvl view name
String: 15
String: Amigo
Process finished with exit code 0
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String link = reader.readLine();
ArrayList<String> arr = new ArrayList<>();
ArrayList<String> corect = new ArrayList<>();
if (link.contains("?")){
String param = link.substring(link.indexOf("?") + 1);
param = param.replace("=", "\n=\n");
param = param.replace("&", "\n");
String[] lines = param.split(System.getProperty("line.separator"));
for(int i = 0; i<lines.length;){
arr.add(lines[i]);
if (lines[i+1].equals("=")){
corect.add(lines[i+2]);
i += 3;
}
else {
i ++;
}
}
}
for (int i = 0; i<arr.size(); i++){
if (i+1 == arr.size()){
System.out.println(arr.get(i));
}else {
System.out.print(arr.get(i) + " ");
}
}
for (int i = 0; i<corect.size(); i++){
try{
if (isNumeric(corect.get(i)) && corect.get(i).contains(".")){
double value = Double.parseDouble(corect.get(i));
alert(value);
} else {
alert(corect.get(i));
}
} catch (Exception e){
System.out.println(e);
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
public static boolean isNumeric(String strNum) {
if (strNum == null) {
return false;
}
try {
double d = Double.parseDouble(strNum);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
}