public boolean isNumeric(char[] str) {
        if(str.length == 0)
            return false;
        int index = 0;
        int ecount = 0; //e 的数量
        int pcount = 0; //符号的数量

        if(str[index] == '+' || str[index] == '-')
            index++;
        for(int i = index; i < str.length; i++){
            if(str[i] == '-' || str[i] == '+'){
                // +-号只能放在数字最前面,或者eE的后面,最前面已经在前面先做了判断
                if(str[i-1] != 'e' && str[i-1] != 'E')
                    return false;
                continue;
            }
            if(str[i] == 'e' || str[i] == 'E'){
                ecount++;
                if(ecount > 1)  //e已经出现过了,不能再出现了
                    return false;
                // e不能放在第一位,e的前面必须是数组,e不能放在最后以为
                if(i == 0 || str[i-1] < 48 || str[i-1] > 57 || i == str.length-1)
                    return false;
                pcount++;  //为什么要加呢?因为e的后面就不能加小数点了
                continue;
            }
            if(str[i] == '.'){
                pcount++;
                if(pcount > 1)  //出现过小数点了,不能再出现了
                    return false;
                continue;
            }
            //如果出现其他符号直接返回false
            if((str[i] < 48 || str[i] > 57) && (str[i] != 'e') && (str[i] != 'E') && (str[i] != '.') )
                return false;
        }
        return true;

    }