Вывод похоже что верный. Прошу помочь советами + идеями как "облегчить" код и сделать по-другому, попроще.
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.HashMap;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<String> list = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
ArrayList<String> list3 = new ArrayList<String>();
//add your code here
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
String[] parts = s.split("\\?");
String part1 = parts[0];
String part2 = parts[1];
String[] parts2 = part2.split("&");
try {
for (int i=0; i<parts2.length;i++) {
String[] parts4 = parts2[i].split("\\=");
String parpar=parts4[0];
String partzn = parts4[1];
if (parpar.equals("obj")) {
list3.add(partzn);
}}}
catch (Exception e) {}
for (int i=0;i<parts2.length;i++) {
if (parts2[i].contains("=")) {
String[] parts3 = parts2[i].split("\\=");
String part11 = parts3[0];
list.add(part11);
String part22 = parts3[1];
list2.add(part22);
}
else { String[] parts3 = parts2[i].split("\\=");
String part11 = parts3[0];
list.add(part11);}
}
for (int i=0;i<list.size();i++) {
System.out.print(list.get(i)+" ");}
System.out.println();
for (int i=0;i<list3.size();i++) {
if (list3.get(i).contains(".")) {
double d = Double.parseDouble(list3.get(i));
alert(d); }
else alert(list3.get(i));
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}