我是计算机科学的新手,我有一个任务,要求我使用Character Class创建一个静态布尔方法,该方法验证用户是否输入了SSN。可接受的格式仅为XXXXXXXXX或XXX-XX-XXXX。我知道我应该使用Character.isDigit()或charAtString但我已经尝试过它们并不起作用。
如果这是一个愚蠢的问题,我很抱歉,我将非常感谢您的指导。
谢谢,
布兰登
import java.util.Scanner; // INPUTS SCANNER
public class SSNValidator {
public static boolean isValidSSN(String ssn) {
}
public static void main(String[]args){
Scanner input = new Scanner(System.in);
String programState = "running";
do {
System.out.println("Enter a SSN(Quit/quit to exit):\n");
} while ((!programState.equals("yes")) && (!programState.equals("Yes")));
System.out.println("Exiting Program.\n");
}
}
我建议你使用以下算法:
正如之前由Davy M所述 - 解决方案的核心是isDigit检查的重复循环。这段代码应该是如何执行此操作的一个很好的参考:
String str = "lmn67up94h";
for(char c : str.toCharArray()) {
if(Character.isDigit(c)) {
System.out.println("Got digit : " + c);
}
}
输出是:
Got digit : 6
Got digit : 7
Got digit : 9
Got digit : 4