Java判断字符串以三位数字结尾的实现方法

作为一名经验丰富的开发者,我很高兴能与刚入行的小白分享如何使用Java判断一个字符串是否以三位数字结尾。下面是实现这一功能的详细步骤和代码示例。

流程图

首先,我们用Mermaid语法创建一个流程图来展示整个实现过程:

flowchart TD
    A[开始] --> B{字符串是否为空?}
    B -- 是 --> C[返回false]
    B -- 否 --> D[获取字符串长度]
    D --> E{长度是否小于3?}
    E -- 是 --> F[返回false]
    E -- 否 --> G[从字符串末尾截取3位]
    G --> H{判断截取的3位是否都是数字?}
    H -- 是 --> I[返回true]
    H -- 否 --> J[返回false]
    I --> K[结束]
    J --> K

实现步骤

  1. 检查字符串是否为空:如果字符串为空,直接返回false。
  2. 获取字符串长度:判断字符串长度是否小于3,如果是,返回false。
  3. 从字符串末尾截取3位:使用substring方法从字符串末尾截取3位字符。
  4. 判断截取的3位是否都是数字:使用正则表达式匹配截取的字符串,判断是否都是数字。
  5. 返回结果:如果都是数字,返回true,否则返回false。

代码实现

下面是具体的Java代码实现:

public class StringEndsWithNumber {
    public static boolean endsWithThreeDigits(String str) {
        // 步骤1:检查字符串是否为空
        if (str == null || str.isEmpty()) {
            return false;
        }

        // 步骤2:获取字符串长度
        int length = str.length();

        // 步骤3:判断字符串长度是否小于3
        if (length < 3) {
            return false;
        }

        // 步骤4:从字符串末尾截取3位
        String lastThreeChars = str.substring(length - 3);

        // 步骤5:判断截取的3位是否都是数字
        return lastThreeChars.matches("\\d{3}");
    }

    public static void main(String[] args) {
        String testStr = "example123";
        boolean result = endsWithThreeDigits(testStr);
        System.out.println("The string ends with three digits: " + result);
    }
}

代码注释

  • endsWithThreeDigits方法接受一个字符串参数str,返回一个布尔值,表示字符串是否以三位数字结尾。
  • 使用isEmpty()方法检查字符串是否为空。
  • 使用length()方法获取字符串的长度。
  • 使用substring()方法从字符串末尾截取3位字符。
  • 使用matches()方法和正则表达式"\\d{3}"判断截取的字符串是否都是数字。

结语

通过上述步骤和代码示例,相信刚入行的小白已经掌握了如何使用Java判断一个字符串是否以三位数字结尾。在实际开发中,我们可以根据具体需求调整和优化代码。希望这篇文章能帮助到你,祝你在编程道路上越走越远!