判断字符串是否为yyyy的实现方法

1. 流程图

graph LR
A[输入字符串]
B[截取字符串]
C[判断字符串长度]
D[判断字符串是否全为数字]
E[判断年份是否在有效范围内]
F[输出结果]
A --> B
B --> C
C --> D
D --> E
E --> F

2. 实现步骤

步骤 代码 说明
1 String input = ... 假设输入的字符串为input
2 String year = ... 从input中截取年份部分,保存到year变量中
3 int length = ... 获取year的长度,保存到length变量中
4 boolean isNumeric = 判断year是否全为数字,将结果保存到isNumeric变量中
5 int yearValue = ... 将year转换为整数值,保存到yearValue变量中
6 boolean isValidYear 判断yearValue是否在有效年份范围内,将结果保存到isValidYear变量中
7 输出结果 输出判断结果

3. 代码实现

public class YearValidator {
    public boolean isYearValid(String input) {
        String year = input.substring(0, 4); // 截取年份部分
        int length = year.length(); // 获取年份长度
        boolean isNumeric = year.matches("\\d+"); // 判断年份是否全为数字

        int yearValue = Integer.parseInt(year); // 将年份转换为整数值
        boolean isValidYear = yearValue >= 1900 && yearValue <= 2100; // 判断年份是否在有效范围内

        return length == 4 && isNumeric && isValidYear; // 返回判断结果
    }
}

4. 类图

classDiagram
    YearValidator --|> Object
    YearValidator: +isYearValid(String input): boolean

5. 代码解释

  • 第1步:定义一个YearValidator类,其中包含一个isYearValid方法用于判断输入字符串是否为yyyy格式的年份。
  • 第2步:在isYearValid方法中,首先使用substring方法从输入字符串中截取年份部分,保存到year变量中。
  • 第3步:使用length方法获取year的长度,保存到length变量中。
  • 第4步:使用matches方法判断year是否全为数字,将结果保存到isNumeric变量中。这里使用了正则表达式"\d+",表示匹配一个或多个数字。
  • 第5步:使用parseInt方法将year转换为整数值,保存到yearValue变量中。
  • 第6步:判断yearValue是否在有效年份范围内,即大于等于1900且小于等于2100,将结果保存到isValidYear变量中。
  • 第7步:将判断结果返回。

6. 使用示例

public class Main {
    public static void main(String[] args) {
        YearValidator validator = new YearValidator();
        String input = "2022";

        boolean isValid = validator.isYearValid(input);
        System.out.println("输入字符串是否为yyyy格式的年份:" + isValid);
    }
}

输出结果为:

输入字符串是否为yyyy格式的年份:true

7. 总结

通过以上实现方法,我们可以判断一个字符串是否为yyyy格式的年份。首先,我们通过截取字符串的方式获取年份部分,然后判断年份的长度是否为4位,接着判断年份是否全为数字,最后判断年份是否在有效范围内。通过这些步骤,我们可以快速实现判断字符串是否为yyyy格式的年份的功能。