题目:
Validate if a given string is numeric
Some examples:
"0" > true
"0.1" >true
"abc" > false
解答:
1 public boolean isNumber(String s) { 2 int i = 0; 3 int n = s.length(); 4 5 // 略过s前面的空格 6 while(i < n && Character.isWhitespace(s.charAt(i))) { 7 i++; 8 } 9 10 boolean isNumeric = false; 11 12 while(i < n && Character.isDigit(s.charAt(i))) { 13 i++; 14 isNumeric = true; 15 } 16 17 if(i < n && s.charAt(i) == '.') { 18 i++; 19 while(i < n && Character.isDigit(s.charAt(i))) { 20 i++; 21 isNumeric = true; 22 } 23 } 24 25 // 略过s后面的空格 26 while(i < n && Character.isWhitespace(s.charAt(i))) { 27 i++; 28 } 29 30 return isNumerics && i == n; 31 }