gpt4 book ai didi

java - 验证一个整数并使其为 5 位数字

转载 作者:行者123 更新时间:2023-12-01 07:47:56 24 4
gpt4 key购买 nike

我正在上我的第一堂 Java 课。我需要询问邮政编码。我知道如果他们不输入 5 位数字,如何要求新输入,但如果他们输入非整数,我该如何要求新输入?

这是我所拥有的:

import java.util.Scanner;

public class AndrewDemographics {

public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
int zip; // 5 digit zip

System.out.print("Enter your 5 digit zip code: ");
zip = stdIn.nextInt();
while ((zip < 10000) || (zip > 99999)) {
// error message
System.out.println("Invalid Zip Code format.");
System.out.println("");
System.out.println("Enter your 5 digit zip code: ");
zip = stdIn.nextInt();
} //end if zip code is valid
}
}

最佳答案

要支持以 0 开头的邮政编码,您需要将邮政编码存储在字符串中,然后使用正则表达式验证它是最简单的:

Scanner stdIn = new Scanner(System.in);
String zip;
do {
System.out.print("Enter your 5 digit zip code: ");
zip = stdIn.next();
} while (! zip.matches("[0-9]{5}"));

如果你想打印错误消息,你可以这样做,它使用 nextLine() 因此只需按 Enter 键也会打印错误消息:

Scanner stdIn = new Scanner(System.in);
String zip;
for (;;) {
System.out.print("Enter your 5 digit zip code: ");
zip = stdIn.nextLine().trim();
if (zip.matches("[0-9]{5}"))
break;
System.out.println("Invalid Zip Code format.");
System.out.println();
}

关于java - 验证一个整数并使其为 5 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46590539/

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