简介:判断给定的字符串是否为数字,支持“.”,“+”,“-”。
下面展示
代码
。
自学的散装工地java,如果有更好的写法欢迎指出!
//判断输入的字符串是否为数字
public class boolean_number {
public static boolean isNumber(String str) {
//空字串不予考虑
if (str==null){
System.out.printf("emptye!");
return false;
}
int num=0;
for (int i = str.length(); --i > 0; ) {
//记录整个字符串中出现的 . 的数目, 如果不止一个那么就不是数字
if (num > 1) {
System.out.printf("no!");
return false;
}
//判断首字符是否为 + - .
if (i == 0) {
//如果第一个字符是 + 或者 - 或者 . ,那么继续判断后续字符,否则返回 不是数字
if (Character.toString(str.charAt(i)).equals("+") || Character.toString((str.charAt(i))).equals("-")) {
continue;
} else if (Character.toString(str.charAt(i)).equals(".")) {
num++;
continue;
} else {
System.out.printf("no!");
return false;
}
}
//判断字符是否为 整数字 或 .
if (Character.isDigit(str.charAt(i))) {
continue;
} else if (Character.toString(str.charAt(i)).equals(".")) {
num++;
continue;
}
else {
System.out.printf("no!");
return false;
}
}
//是数字
System.out.printf("yes!");
return true;
}
}