题目
代码
public class Solution {
private int index=0;
public boolean isNumeric(char[] str) {
if(str==null||str.length<=0){
return false;
}
boolean flag=scanInteger(str);//判断整数部分
if(index<str.length&&str[index]=='.'){
index++;
flag=scanUnsignedInteger(str)||flag;//或是表示整数部分可能不存在
}
if(index<str.length&&(str[index]=='e'||str[index]=='E')){
index++;
flag=flag&&scanInteger(str);//指数部分前面必须有数
}
return flag&&(index==str.length);
}
public boolean scanInteger(char[] str){
if(index<str.length&&(str[index]=='+'||str[index]=='-')){
index++;
}
return scanUnsignedInteger(str);
}
public boolean scanUnsignedInteger(char[] str){
int temp=index;
while (index<str.length&&(str[index]>='0'&&str[index]<='9')){
index++;
}
return index>temp;
}
}