天天看点

[(工地散装)java] 判断字符串是否为数字

简介:判断给定的字符串是否为数字,支持“.”,“+”,“-”。

下面展示

代码

自学的散装工地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;
    }
}