使用 Java 中的 if 语句检查 int[] 数组是否在范围内
Check if an int[] array is in range using if statements in Java
我的代码如下所示:
public Goals(int[] points){
this.points = points;
}
然后我将不得不检查数组是否在范围内:
public int getpoints() {
if (points <= 0 && >= 10) {
//do something
}
}
但它不允许我对数组使用运算符。
我应该怎么做?
我不太了解你的问题,但如果你正在寻找一种方法来检查点数组中的所有元素是否都在范围内,请查看此
boolean isInRange = Arrays.stream(points).allMatch(point -> [Your condition for each element]);
如果我做对了,那就可以了:
private static boolean isWithinRange(int[] points, int minRange, int maxRange) {
boolean outOfRange = Arrays.stream(points).anyMatch( p -> p < minRange || p > maxRange );
return ! outOfRange;
}
如果你想检查点是否在 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");
}
}
}
}
我的代码如下所示:
public Goals(int[] points){
this.points = points;
}
然后我将不得不检查数组是否在范围内:
public int getpoints() {
if (points <= 0 && >= 10) {
//do something
}
}
但它不允许我对数组使用运算符。
我应该怎么做?
我不太了解你的问题,但如果你正在寻找一种方法来检查点数组中的所有元素是否都在范围内,请查看此
boolean isInRange = Arrays.stream(points).allMatch(point -> [Your condition for each element]);
如果我做对了,那就可以了:
private static boolean isWithinRange(int[] points, int minRange, int maxRange) {
boolean outOfRange = Arrays.stream(points).anyMatch( p -> p < minRange || p > maxRange );
return ! outOfRange;
}
如果你想检查点是否在 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");
}
}
}
}