思路

诸位判断
当前是+ - E e . 判断是否合法
+- 出现在首位或者前面一位是E,e
E,e 只能出现一次,并且不能出现在首和尾
. 只能出现一次,不能在首尾,并且要在E,e的前面

代码

public class Solution {
    public boolean isNumeric(char[] str) {
       int cnt1 = 0, cnt2 = 0;
        for(int i = 0; i < str.length; i++){
            System.out.println(i);
            if(str[i] == '-' || str[i] == '+'){
                if(i == 0 || str[i - 1] == 'e'||str[i - 1] == 'E'){
                    continue;
                }else{
                    return false;
                }
            }
            if(str[i] == 'e' || str[i]=='E'){
                if(i == 0 || i == str.length - 1 || cnt1 == 1){
                    return false;
                }else{
                    cnt1++;
                    continue;
                }
            }
            if(str[i] == '.'){
                if(i == 0 || i == str.length - 1 || cnt2 == 1 ||cnt1==1){
                    return false;
                }else{cnt2++;}
                continue;
            }
            if(str[i] < '0' || str[i] > '9'){
                return false;
            }
        }
        return true;
    }
}