Друзья, почему-то такой код прошел:
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));
}
Почему так?