欢迎访问宙启技术站
智能推送

使用Java函数检查输入是否为数字。

发布时间:2023-06-19 02:44:59

在Java中进行数字输入检查是一个常见的编程操作,因为在编写Java程序时,很多情况下需要对用户输入的数据进行验证。Java提供了许多方法来检查输入是否为数字。本文将介绍一些常用的方法。

1. isNumeric() 方法

Java的StringUtils类提供了isNumeric()方法,该方法可以用于检查字符串是否为数字。该方法的实现方法如下:

public static boolean isNumeric(String str) {
        if (str == null || str.length() == 0) {
            return false;
        }
        int sz = str.length();
        for (int i = 0; i < sz; i++) {
            if (Character.isDigit(str.charAt(i)) == false) {
                return false;
            }
        }
        return true;
    }

该方法使用了Java的Character.isDigit()方法来检查输入是否为数字。

2. 使用正则表达式

Java支持正则表达式,在Java中,可以使用正则表达式来检查输入是否为数字。可以使用\d表示数字,使用+表示一个或多个。如下:

public static boolean isNumeric(String str) {
        if (str == null || str.length() == 0) {
            return false;
        }
        Pattern pattern = Pattern.compile("\\d+");
        return pattern.matcher(str).matches();
    }

该方法使用了Java的Pattern和Matcher类,通过\ d+ 来表示输入是否为数字。

3. 使用NumberFormat类

Java的NumberFormat类提供了许多方法来格式化和解析数字。可以使用NumberFormat类来检查输入是否为数字。该类的用法如下:

public static boolean isNumeric(String str) {
        if (str == null || str.length() == 0) {
            return false;
        }
        try {
            NumberFormat.getInstance().parse(str);
            return true;
        } catch (ParseException e) {
            return false;
        }
    }

该方法使用了Java的NumberFormat类中的parse()方法,该方法可以将字符串转换为数字。如果输入的字符串不是数字,则会抛出ParseException异常。

4. 使用Apache Commons Lang库

Apache Commons Lang库提供了很多实用工具类,包括检查输入是否为数字的功能。使用该库可以通过以下方式来检查输入是否为数字:

public static boolean isNumeric(String str) {
        if (StringUtils.isBlank(str)) {
            return false;
        }
        return StringUtils.isNumeric(str);
    }

该方法使用了Apache Commons Lang库中的StringUtils类中的isNumeric()方法,该方法可以用来检查输入是否为数字。

总结:

以上方法均可以用来检查输入是否为数字,并且都有各自的优点和适用场景。一般情况下,我们会根据具体的情况选择合适的方法。同时,如果需要对多种输入进行检查,可以使用多种方法结合起来使用,以确保输入的正确性。