当前位置: 首页 > 知识库问答 >
问题:

如何只为特定年龄的java创建验证

南门向荣
2023-03-14

我需要写一个验证,验证一个人的年龄。年龄只能是20、30或40岁。当我创建下面的方法并尝试创建一个年龄为30岁的person对象时,我得到了非法参数异常。你知道为什么吗?

  private static void validateAge(final int age) {

    if (age != 20 || age != 30 || age != 40 ) {
        throw new IllegalArgumentException("invalid age " + age);
    }

}

共有1个答案

段成益
2023-03-14

所以唯一的合法值是20、30或40。
这意味着:age==20 age==30 age==40,否定的是age!=20&&age!=30&&age!=40

 类似资料:
  • 问题内容: 我想编写一种从出生日期开始计算年龄的方法,逻辑是否正确以及如何在android Java中编写它: 问题答案: 这是我对问题的解决方案: 我使用DatePicker获取此处所需的输入值。此方法与日期选择器一起专门用于获取用户的DoB并计算其年龄。根据您的特定实现,可以进行少许修改以允许用户DoB的String输入。String的返回类型是用于更新TextView的,可以稍作修改以允许类

  • 问题内容: 我想以Java方法的整数形式返回年龄(以年为单位)。我现在所拥有的是getBirthDate()返回Date对象(带有出生日期;的以下内容: 但是由于不赞成使用getYear(),所以我想知道是否有更好的方法可以做到这一点?我什至不确定这是否能正常工作,因为我还没有进行单元测试。 问题答案: JDK 8使这个变得轻松而优雅: 一个JUnit测试以证明其用法: 现在每个人都应该使用JDK

  • 问题内容: 我在某个服务器上的某些类似于僵尸的进程存在问题,需要时不时地将其杀死。我如何最好地识别运行时间超过一个小时左右的设备? 问题答案: 如果只需要杀死他们: 如果要查看它的匹配项 该标志将为每个过程匹配提示您是/否。

  • 问题内容: 我正在尝试使用以下格式为每个人打印其年龄: 例如:19年8个月13天。 我已经在Google上搜索了很多,并且注意到有一个特定的函数可以计算日期之间的差。 但是,该功能在中不存在,因此我继续尝试使用和一些运算符。 我的尝试: 我的问题取决于日子。我不知道如何使用此函数计算天数(“尝试除以4或30”);我以为我的逻辑不好,但我无法弄清楚,有什么想法吗? 问题答案: 与Lalit的答案非常

  • 控制器 服务 储存库 我还尝试在这里添加自定义注释: 并且还更新了 但同样的错误结果。 如何使用自定义验证对此进行验证?

  • 问题内容: 我有一个InnoDB表和一个列索引,就像这样 我只想了解这些查询背后的真实情况: 和 据我了解,第一个MySQL将使用列寿命索引,而第二个则无法使用。是吗?哪个对性能更好? 问题答案: 这两个查询都将使用索引。 查询A将转换为: 查询B将转换为 因此查询A将使用OR进行3个测试。 查询B将使用AND进行2个测试。 查询B更快。 通常,使用的查询比使用的查询要快。 另外,查询B执行的测试