思路
诸位判断
当前是+ - 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;
}
} 
京公网安备 11010502036488号