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
实现步骤
- 检查字符串是否为空:如果字符串为空,直接返回false。
- 获取字符串长度:判断字符串长度是否小于3,如果是,返回false。
- 从字符串末尾截取3位:使用
substring
方法从字符串末尾截取3位字符。 - 判断截取的3位是否都是数字:使用正则表达式匹配截取的字符串,判断是否都是数字。
- 返回结果:如果都是数字,返回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判断一个字符串是否以三位数字结尾。在实际开发中,我们可以根据具体需求调整和优化代码。希望这篇文章能帮助到你,祝你在编程道路上越走越远!