【问题标题】:Checking that number is within an interval in Java [closed]检查该数字是否在 Java 的区间内 [关闭]
【发布时间】:2016-04-08 20:36:49
【问题描述】:

我有一个代表年龄的输入。它可以采用 1..120 范围内的值。我必须返回一个布尔值来评估它是否是正确的年龄。

输入参数:int age
结果类型:布尔型

示例输入参数:25 0 120 121
预期结果:真假真假

示例:

【问题讨论】:

  • 到目前为止你做了什么?
  • 我只是在学习
  • 向我们展示您的尝试。我们愿意提供帮助,但我们不会为您编写代码。
  • 现在我尝试更改您的代码,但确实如此,但显然高于我们正在经历的费率水平:)
  • @АлександрСтариченко 我认为您可以点击问题下方的“重新打开”,要求版主重新打开它,因为它已被编辑

标签: java int boolean intervals


【解决方案1】:
public static boolean isCorrectAge(int age) {
   return age > 0 && age <= 120;
}


一般情况:

private static int lowerBound = 1;
private static int higherBound = 120;

public static boolean isWithinInterval(int input) {
   return input >= lowerBound && input <= higherBound;
}


如果你想对不同的时间间隔使用相同的功能:

public static boolean isWithinInterval(int input, int lowerBound, int higherBound) {
   return input >= lowerBound && input <= higherBound;
}

【讨论】:

  • 这是所有建议中最干净的解决方案。
【解决方案2】:
int[] inputArray = new int[] { 25, 0, 120, 121 };
boolean[] resultArray = new boolean[4];
for (int i = 0; i < inputArray.length; i++)
    resultArray[i] = inputArray[i] > 0 && inputArray[i] < 121;
for (boolean result : resultArray) 
    System.out.println("" + result);

【讨论】:

    【解决方案3】:

    年龄的验证可以是相对的,最准确的,算法越复杂,

    所以让我们将其简化为一个自然数(即 java 语言中的整数),因此年龄必须为正且非零:

    那么你需要定义一个可以返回真/假值的函数(即java语言中的方法)(即java语言中的布尔值):)

    boolean checkAge(int ageToTest){
    
        if(ageToTest > 0  && ageToTest < 120){
             return true;
        }else{
            return false;
        }
    
    }
    

    java语言就是这么简单:)

    【讨论】:

    • 你错过了 >120 部分
    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 2013-08-11
    • 1970-01-01
    • 2012-09-02
    相关资源
    最近更新 更多