вроде не сильно намудрил.
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.List;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//add your code here
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String url = reader.readLine();
List<String> list = new ArrayList<>();
int indexEqual = url.indexOf("=");
for (int i = 1; i<url.length(); i++) {
if (url.charAt(i) == '?') {
list.add(url.substring(i+1,indexEqual));
}
else if (url.charAt(i) == '&') {
for (int j = i+1; j<=url.length(); j++){
if ((url.charAt(j) == '=') || (url.charAt(j) == '&')) {
list.add(url.substring(i+1,j));
break;
}
}
}
}
for (String s : list)
System.out.print(s+" ");
System.out.println();
String sValue = null;
for (String s : list) {
if (s.equals("obj")) {
for (int i = url.indexOf("?") + 1; i < url.length(); i++) {
if ((url.charAt(i) == 'o') && (url.charAt(i + 1) == 'b') && (url.charAt(i + 2) == 'j')) {
for (int j = i + 1; j <= url.length(); j++) {
if ((url.charAt(j) == '&')) {
sValue = url.substring(i + 4, j);
break;
}
}
}
}
try {
double value = Double.parseDouble(sValue);
alert(value);
} catch (Exception e) {
alert(sValue);
}
}
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}