comefrom: <awangdev>65. Valid Number_1.java
code: public boolean isNumber(String s) {
          if (s == null) return false;
          s = s.trim();
          if (s.length() == 0) return false;
          int i = 0;
          char[] ss = s.toCharArray();
          if (ss[i] == '+' || ss[i] == '-') i++;
          boolean isNum = false, isDot = false, isExp = false;
          for (; i < s.length(); i++) {
              char c = ss[i];
              if (Character.isDigit(c)) isNum = true;
              else if (c == '.') {
                  if (isDot || isExp) return false; 
                  isDot = true;
              } else if (c == 'e') {
                  if (isExp || !isNum) return false; 
                  isExp = true;
                  isNum = false; 
              } else if (c == '+' || c == '-') {
                  if (i >= 1 && s.charAt(i - 1) != 'e') return false;
              } else return false; 
          }
  
          return isNum;
      }
masked: public boolean var_0 ( String var_1 ) {
    if ( var_1 == null ) return false ;
    var_1 = var_1 . trim ( ) ;
    if ( var_1 . length ( ) == 0 ) return false ;
    int var_2 = 0 ;
    char [ ] var_3 = var_1 . toCharArray ( ) ;
    if ( var_3 [ var_2 ] == '+' || var_3 [ var_2 ] == '-' ) var_2 ++ ;
    boolean var_7 = false , var_5 = false , var_6 = false ;
    for ( ;
    var_2 < var_1 . length ( ) ;
    var_2 ++ ) {
      char var_4 = var_3 [ var_2 ] ;
      if ( Character . isDigit ( var_4 ) ) var_7 = true ;
      else if ( var_4 == '.' ) {
        if ( var_5 || var_6 ) return false ;
        var_5 = true ;
      }
      else if ( var_4 == 'e' ) {
        if ( var_6 || ! var_7 ) return false ;
        var_6 = true ;
        var_7 = false ;
      }
      else if ( var_4 == '+' || var_4 == '-' ) {
        if ( var_2 >= 1 && var_1 . charAt ( var_2 - 1 ) != 'e' ) return false ;
      }
      else return false ;
    }
    return var_7 ;
  }
  