java中判断字符是不是数字问题?

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:17:37
原题:
public class HH {

public static boolean isNumberic(String str) {
写函数。。

System.out.println(isNumberic("123"));
System.out.println(isNumberic("-123.23"));
System.out.println(isNumberic("0x123"));
System.out.println(isNumberic("12acb3"));
System.out.println(isNumberic("-aa123"));
}
}
得出结果要是:
ture
ture
ture
false
false

我做了两次都有一点问题:
第一次:
public class HH {

public static boolean isNumberic(String str) {

if (str == null) {
return false;
}
int sz = str.length();
for (int i = 0; i < sz; i++) {
if (Character.isDigit(str.charAt(i)) == false) {
return false;
}
}
return true; }
public static void main(String[] args) {
System.out.println(isNumberic("123"));
System.out.println(isNumberic("-123.23"

参考如下代码即可发现:

public class T {
    public static void main(String[] args) {
        System.out.println(isInt("12345"));
        System.out.println(isInt("abc"));
        System.out.println(isInt2("12345"));
        System.out.println(isInt2("abc"));
    }
    public static boolean isInt(String string) {
        return string.matches("\\d+");
    }
    public static boolean isInt2(String string) {
        try {