Ввод с double работает, с int - выводит String: int, что не так подскажите плз
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.StringTokenizer;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) {
//add your code here
try {
String s = new BufferedReader(new InputStreamReader(System.in)).readLine();
int index = s.indexOf("?");
String f = s.substring(index);
StringTokenizer stringTokenizer = new StringTokenizer(f, "?, =, &");
StringTokenizer stringTokenizer2 = new StringTokenizer(f, "?, obj, name, =, &");
ArrayList<String> arr = new ArrayList<>();
while (stringTokenizer.hasMoreTokens()) {
String token = stringTokenizer.nextToken();
if (token.equals("obj") || token.equals("name")) {
arr.add(token);
}
}
for (String st : arr) {
System.out.print(st + " ");
}
System.out.println();
String token2 = stringTokenizer2.nextToken();
if (token2.contains(".")) {
alert(Double.parseDouble(token2));
} else if (!token2.contains(".")) {
alert(token2);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}