gpt4 book ai didi

java - 在 Java 中验证字符串/ double 的初学者方法

转载 作者:太空宇宙 更新时间:2023-11-04 09:19:44 25 4
gpt4 key购买 nike

我正在参加“Java 编程入门”类(class)的第 7 周。第 5 周的作业是:“编写一个程序,提示用户以 DDD-DD-DDDD 格式输入社会安全号码,其中 D 是数字 (0-9)。您的程序应检查输入是否有效。”

我最初没有提交任何内容,因为这本书(《Java 编程入门》,Y Daniel Liang 所著)和我的导师在讨论将 double 转换为字符串并验证其格式时并没有真正意义。

我希望 YouTube、Google 或其他一些来源能帮助我解决这个问题;然而,解决方案包括“Regex”和其他我们尚未接近讨论的实用程序。对于周二我无法复制和解释的任何事情,我都会得到 F,所以真正深入、经验丰富的解决方案在这里是不可能的。

对于如何快速掌握简单的字符串验证/转换的速度,有什么建议吗?

最佳答案

您可以使用 for 循环和多个 if 语句来完成此操作(漫长的过程)。您肯定想使用Character.isDigit() if 语句条件中的方法。

您需要一次遍历用户提供的 SSN 字符串一个字符,因此使用 String.charAt()方法在这里也很重要。您可以采用以下一种方法:

Scanner input = new Scanner(System.in);
String inputSSN = "";

while (inputSSN.equals("")) {
System.out.print("Enter a Social Security Number: --> ");
inputSSN = input.nextLine();

// Validate SSN...
for (int i = 0; i < inputSSN.length(); i++) {
// Validate the first set of 3 digits
if (i >= 0 && i <= 2) {
if (!Character.isDigit(inputSSN.charAt(i))) {
inputSSN = "";
break;
}
continue;
}

// Validate the first hyphen
if (i == 3 && inputSSN.charAt(i) != '-') {
inputSSN = "";
break;
}

// Validate the second set of 2 digits
if (i >= 4 && i <= 5) {
if (!Character.isDigit(inputSSN.charAt(i))) {
inputSSN = "";
break;
}
continue;
}

// Validate the second hyphen
if (i == 6 && inputSSN.charAt(i) != '-') {
inputSSN = "";
break;
}

// Validate the third set of 4 digits
if (i >= 7 && i <= 10) {
if (!Character.isDigit(inputSSN.charAt(i))) {
inputSSN = "";
break;
}
}
}

// Validate that the SSN is the right length
if (inputSSN.length() != 11) {
System.out.println("Invalid Social Security Number!" + System.lineSeparator());
inputSSN = "";
}
}

System.out.println(inputSSN + " is a valid Social Security Number.");

关于java - 在 Java 中验证字符串/ double 的初学者方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58478092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com