思路
诸位判断
当前是+ - 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; } }