Добрый день.
Братцы, помогите! Тестирую - все работает, валидатор не принимает...
В чем подвох?
package com.javarush.task.task15.task1519;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.ArrayList;
/*
Разные методы для разных типов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList<>();
while (true) {
String str = reader.readLine();
if (str.equals("exit")) break;
else list.add(str);
}
int flag = 0;
for (String element : list) {
char[] symbols = element.toCharArray();
if ((symbols[0] > 47 && symbols[0] < 58) || symbols[0] == '-') {
flag = 2;
for (int i = 1; i < symbols.length; i++) {
if (symbols[i] == '.' && symbols[1] != '.') {
flag = 1;
break;
}
if (symbols[i] < 47 || symbols[i] > 58) {
flag = 0;
break;
}
}
if (flag != 0 && flag != 1) {
if (Integer.parseInt(element) > 0 && Integer.parseInt(element) < 128) flag = 3;
}
}
if (flag == 1) print(Double.parseDouble(element));
if (flag == 2) print(Integer.parseInt(element));
if (flag == 3) print(Short.parseShort(element));
if (flag == 0) print(element);
}
}
public static void print (Double value){
System.out.println("Это тип Double, значение " + value);
}
public static void print (String value){
System.out.println("Это тип String, значение " + value);
}
public static void print ( short value){
System.out.println("Это тип short, значение " + value);
}
public static void print (Integer value){
System.out.println("Это тип Integer, значение " + value);
}
}