Не понимаю - почему не работает метод.
public static boolean isDouble(String s) {
        char[] chars = s.toCharArray();
        boolean isDot = false;
        for (int i = 0; i < chars.length; i++) {
            if (chars[i] == '.' && !isDot) isDot = true;  //проверяем на первую точку
            else if (chars[i] == '.' && isDot) return false;  //точка только одна
            if (chars[i] != ('1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'0'|'.')) return false; //все символы либо числа, либо точка
        }
        return isDot; //если мы не вышли во время проверки двумя строками выше и точка присутствует - это double
    }