gpt4 book ai didi

java - Java中如何只接受用户的特定格式的数字?

转载 作者:行者123 更新时间:2023-12-01 11:38:29 26 4
gpt4 key购买 nike

我怎样才能做到这样,只有当格式完全是“xxx-xxx-xxxx”时才会接受用户的输入,其中x可以是任何数字,但只能是数字,并且破折号必须在那里,在那些分组。基本上,它应该接受电话号码。现在我有:

Scanner input = new Scanner(System.in);
String in = input.next(); // Stores user input as a string

if (in.contains("[a-zA-Z]") == false && in.length() == 12) {
System.out.println("Number Accepted");
} else {
System.out.println("Number Rejected");
}

目前,它将拒绝大于或小于 12 个字符的数字,但它将接受任何 12 个字符的数字,即使它包含字母。我也没有正确地将数字与破折号分组的解决方案,因为用户应该只能输入 3 个数字,然后是破折号,然后再输入 3 个数字,然后是破折号,最后是 4 个数字。

最佳答案

您可以使用 Pattern应用正则表达式:

Pattern pattern = Pattern.compile("^\d{3}-\d{3}-\d{4}$");
Scanner input = new Scanner(System.in);
String in = input.next(); // Stores user input as a string

if (pattern.matcher(in).matches())) {
System.out.println("Number Accepted");
} else {
System.out.println("Number Rejected");
}

关于java - Java中如何只接受用户的特定格式的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29754642/

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