gpt4 book ai didi

java - 应验证用户输入的年龄值是否有效,范围在 0 到 150 之间。并且应该使用 .matches(<...>) 方法

转载 作者:行者123 更新时间:2023-12-01 20:55:40 25 4
gpt4 key购买 nike

    import java.util.Scanner;
public class validAge
{
public static void main(String args[])
{
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
age(s);

}
public static void age(String s)
{

if(s.matches("[0-150]{1,3}"))
{
System.out.println("Age is valid");
}
else
{
System.out.println("Age is NOT valid");
}
}
}

当用户输入 150+ 时,我无法打印无效年龄,而当输入的年龄为负数时,我无法打印相同的打印语句。所有这些都必须使用 .matches(<..>) 方法来完成。这就是我所做的。

最佳答案

该正则表达式不正确。

由于您的要求最多为 150,因此情况很复杂。

将你的问题分解:

  1. 进行空检查。如果字符串为空或 null,您应该说它无效
  2. 前 99 年很简单:s.matches("[0-9]{1,2}")
  3. 问题是检查 100-150。你不能做你发布的事情。如何使用正则表达式进行检查?第一个数字必须是 1;第二位数字必须是 0-5;第三位数字必须是 0-9。

第三个数字可能是这样的模式。它必须是可选的,因为 0-99 不会有一个。

"1[0-5][0-9]"

关于java - 应验证用户输入的年龄值是否有效,范围在 0 到 150 之间。并且应该使用 .matches(<...>) 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42392029/

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