я тут сижу думаю понимаешь ли, а на выходе почти все пункты красные.
подскажите что не так.
package com.javarush.task.task15.task1519;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
/*
Разные методы для разных типов
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String s;
while (true){
s =bufferedReader.readLine();
if (s.equals("exit"))
break;
else if (s.contains(".")) try {
print(Double.parseDouble(s));
}catch (NumberFormatException e){
print(s);}
else if (isNumber(s) && Integer.parseInt(s)>0 && Integer.parseInt(s)<128) print((short)Integer.parseInt(s));
else if (isNumber(s) && Integer.parseInt(s)<=0 || Integer.parseInt(s)>=128) print(Integer.parseInt(s));
else print(s);//напиште тут ваш код
}
}
public static boolean isNumber(String s) {
if (s.length() == 0) return false;
char[] chars = s.toCharArray();
for (int i = 0; i < chars.length; i++) {
char c = chars[i];
if ((i != 0 && c == '-') // есть '-' внутри строки
|| (!Character.isDigit(c) && c != '-') // не цифра и не начинается с '-'
|| (chars.length == 1 && c == '-')) // одиночный '-'
{
return false;
}
}
return true;
}
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);
}
}