Друзья, почему-то такой код прошел:
try {
             if ((value.contains("."))) {
               print(new Double(value));
             }
             else {
                 if (Integer.parseInt(value) > 0 && Integer.parseInt(value) < 128){
                     print((short) Integer.parseInt(value));
                                       }
                 else {
                     print(Integer.parseInt(value));
           }
             }

              } catch (Throwable e) {
           print(new String(value));
       }
   }
а такой нет:
try {
                if ((value.contains("."))) {
                  print(new Double(value));
                }
                else {
                    if (Integer.parseInt(value) > 0 && Integer.parseInt(value) < 128){  // больше нуля, но меньше 128, то вызвать метод print для short;
                        print((short) Integer.parseInt(value));
                                          }
                    else if (Integer.parseInt(value)<= 0 && Integer.parseInt(value)>= 128){
                        print(Integer.parseInt(value));
              }
                }

                 } catch (Throwable e) {
              print(new String(value));
          }
Почему так?