Понимаю, что наколхозил.
Но вывод правильный, однако не проходит условие требование - программа должна выводить данные в соответствии с условием
package com.javarush.task.task15.task1527;
/*
Парсер реквестов
*/
import java.util.ArrayList;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
//add your code here
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
scanner.close();
//http://javarush.ru/alpha/index.html?obj=3.14&name=Amigo
alert(s);
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
ArrayList <Character> url = new ArrayList<>();
for (int i = 0; i < value.length(); i++) {
url.add(value.charAt(i));
}
ArrayList <Character> ch = new ArrayList<>();
ArrayList <Character> newch = new ArrayList<>();
ArrayList <Character> obj = new ArrayList<>();
for (int i = 0; i < url.size(); i++) {
if (url.get(i).equals('?')) {
for (int j = i+1; j < url.size(); j++) {
ch.add(url.get(j));
}
}
}
for (int i = 0; i < ch.size(); i++) {
if (ch.get(i).equals('=')) {
for (int j = i+1; j < ch.size(); j++) {
if (ch.get(j).equals('&')) {
obj.add(' ');
break;
}
obj.add(ch.get(j));
}
}
}
for (int i = 0; i < ch.size(); i++) {
if (!(ch.get(i).equals('='))) newch.add(ch.get(i));
else {
for (int j = i+1; j < ch.size(); j++) {
i++;
if (ch.get(j).equals('&')) {
newch.add(' ');
break;
}
}
}
}
String word= new String();
for(Character c:obj){
word= word+ c;
}
String word2 = new String();
for(Character c:newch){
word2 = word2 + c;
}
System.out.println(word2);
for (String retval : word.split(" ", 3)) {
try {
double d = Double.parseDouble(retval);
alert(d);
}
catch (NumberFormatException e) {
}
}
}
}