Only the integer part of the task fails, everything else passes. not sure why the integer line fails. I've tried or (||) and and (&&) both fail. but everything else is fine...
package com.codegym.task.task15.task1519;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
/*
Different methods for different types
*/
public class Solution {
public static void main(String[] args) throws IOException {
//write your code here
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true){
String input = reader.readLine();
if (input.equals("exit")){
break;
}
try{
if (input.contains(".")){
print(Double.parseDouble(input));
}else if (Integer.parseInt(input)>0 && Integer.parseInt(input) <128){
print(Short.parseShort(input));
}else if (Integer.parseInt(input)>=0 || Integer.parseInt(input) >=128){
print(Integer.parseInt(input));
}
} catch (NumberFormatException e){
print(input);
}
}
}
public static void print(Double value) {
System.out.println("This is a Double. Value: " + value);
}
public static void print(String value) {
System.out.println("This is a String. Value: " + value);
}
public static void print(short value) {
System.out.println("This is a short. Value: " + value);
}
public static void print(Integer value) {
System.out.println("This is an Integer. Value: " + value);
}
}