package com.javarush.task.task15.task1519;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/*
Разные методы для разных типов
*/

public class Solution {
    public static void main(String[] args) throws IOException, NumberFormatException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String number;
        while (true) {
            number = reader.readLine();
            //int num = Integer.parseInt(number);

            if ("exit".equals(number)) {
                break;
            } else if (".".equals(number)) {
                double d1 = Double.parseDouble(number);
                Double d = d1;
                print(d);
                if (d > 0 && d < 128) {
                    short s = Short.parseShort(String.valueOf(d));
                    print(s);
                } else if (d == 0 && d > 128) {
                    Integer i = Integer.parseInt(String.valueOf(d));
                    print(i);
                } else print(number);
            } else if (Integer.parseInt(number) == 0 && Integer.parseInt(number) > 128) {
                print(number);
            } else if (Integer.parseInt(number) > 0 && Integer.parseInt(number) < 128) {
                short s = Short.parseShort(number);
                print(s);
            } else print(number);
        }
    }

    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);
    }
}
Привет. не понимаю почему программа при вводе числа с точкой (Double), перепрыгивает условие Double (строка 21) на строку 32 к Integer, и выдает исключение NumberFormatException. Почему пропускает условие, если оно верно? точка там есть. если вводить целые числа, все работает.