学生成绩信息处理java根据提示,在右侧编辑器 Begin-End 区域补充代码,判断一段 SSN 码是否合法。具体要求如下: 输入一个字符串作为 SSN 码; 输出其是否合法,合法的话输出字符串 yes, 否则输出 no。末尾无换行。 测试说明
时间: 2024-12-20 15:15:56 浏览: 16
在 Java 中,我们可以创建一个函数来检查 Social Security Number (SSN) 的合法性。SSN 美国通常有三种形式:999-99-9999、XXX-XX-XXXX 或 XXXX-XX-XXXX。其中前三位代表出生月份和日,接下来两位代表出生年份的最后两位(例如,1980 年就是 80),最后四位是顺序号。对于简单验证,我们假设所有合法 SSN 都满足上述格式,并且顺序号不全是零。以下是根据这个规则编写的一个示例代码段:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入 SSN 码:");
String ssn = scanner.nextLine();
if (isValidSSN(ssn)) {
System.out.print("yes");
} else {
System.out.print("no");
}
scanner.close();
}
// 判断 SSN 是否合法
public static boolean isValidSSN(String ssn) {
// 检查长度以及分隔符
if (ssn.length() != 11 || !ssn.matches("\\d{3}-\\d{2}-\\d{4}")) return false;
// 检查顺序号非零
int lastFourDigits = Integer.parseInt(ssn.substring(6));
return lastFourDigits != 0;
}
}
```
在这个代码中,`isValidSSN` 函数首先检查 SSN 的长度是否为 11 位,且是否有正确的分隔符 `-`。然后它提取最后四个数字并检查它们是否全为零。如果符合所有条件,那么 SSN 就被认为是合法的。
阅读全文