Вывод правильный, но 3-е и 4-ое условия не выполняются, я не понял, что там имелось ввиду с этим obj. Кроме того когда решал задачу ничего не придумал лучше, чем этот чудесный механизм из кучи кода))
package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String ssilka = reader.readLine();
char[] list = ssilka.toCharArray();
int a = 0;
String string = "";
String num = "";
while (a <= ssilka.length()) {
if (list[a] == '?') {
a++;
break;
}
else a++;
}
int count = 0;
int ampa = 0;
while (a < ssilka.length()) {
if (list[a] != '=' & count == 0 & list[a] != '&') {
if (ampa == 1) {
string = string + " ";
ampa++;
}
string = string + list[a];
a++;
}
else if (count >= 0 & list[a] != '&') {
count++;
if (list[a] != '=') {
if (list[a] == '0' || list[a] == '1' || list[a] == '2' || list[a] == '3')
num = num + list[a];
else if (list[a] == '4' || list[a] == '5' || list[a] == '6' || list[a] == '7')
num = num + list[a];
else if (list[a] == '8' || list[a] == '9' || list[a] == '.')
num = num + list[a];
}
a++;
}
else {
ampa = 1;
count = 0;
a++;
}
}
System.out.println(string);
System.out.println(num);
try {
double value = Double.parseDouble(string);
alert((double) value);
}
catch (Exception e) {
alert((String) string);
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}