【问题标题】:Check if an int[] array is in range using if statements in Java [closed]使用Java中的if语句检查int []数组是否在范围内[关闭]
【发布时间】:2020-09-04 18:48:20
【问题描述】:

我的代码如下所示:

public Goals​(int[] points){
    this.points = points;
}

那么我将不得不检查数组是否在范围内:

public int getpoints() {
    if (points <= 0 && >= 10) {
             //do something
    }
}

但它不允许我对数组使用运算符。

我应该怎么做?

【问题讨论】:

  • 这是什么意思?是否要检查数组中的任何元素是否在此范围内?他们都是?数组的总和?还有什么?
  • 请详细说明您的问题

标签: java arrays integer operator-keyword


【解决方案1】:

如果我做对了,它会成功的:

private static boolean isWithinRange(int[] points, int minRange, int maxRange) {
  boolean outOfRange = Arrays.stream(points).anyMatch( p -> p < minRange || p > maxRange );
  return ! outOfRange;
}

【讨论】:

    【解决方案2】:

    如果您尝试检查点是否在 0 和 10 的范围内,您可以使用类似

    public class InRange {
    
    public static void main(String[] args){
        checkRange();
    }
    
    private static void checkRange() {
        int[] points = new int[3];
        points[0] = -1;
        points[1] = 6;
        points[2] = 11;
        
        for(int i = 0; i<points.length; i++){
            if(points[i] >= 0 && points[i]<=10){
                System.out.println(points[i] + " Point between 0 and 10");
            }else{
                System.out.println(points[i] + " Point not Between 0 and 10");
            }
        }
    }
    
    }
    

    【讨论】:

      【解决方案3】:

      我真的不知道你的问题,但如果你正在寻找一种方法来检查点数组中的所有元素是否在范围内,请检查此

      boolean isInRange = Arrays.stream(points).allMatch(point -> [Your condition for each element]);
      

      【讨论】:

        猜你喜欢
        • 2013-10-02
        • 1970-01-01
        • 2013-01-04
        • 1970-01-01
        • 1970-01-01
        • 2014-03-28
        • 2019-03-01
        • 2012-06-09
        • 1970-01-01
        相关资源
        最近更新 更多