设计一个采用数组的方法

时间:2017-11-07 02:58:53

标签: java arrays methods

设计一个方法M4,它取一个数组A的双精度值和一个双精度值d,如果在d中找不到A,则返回true如果在d

中找到A,则为false

示例:

`M49({1.0, 4.5, 7.7, 0.3, 2.1},7.7)`//should return false

2 个答案:

答案 0 :(得分:2)

您只需要一个简单的notContains函数吗?

Java 7 +:

private boolean notContains(final double[] array, final double n) {
    for (double x : array) {
        if (x == n) return false;
    }

    return true;
}

Java 8 + 使用Streams API

private boolean notContains(final double[] array, final double n) {
    return Arrays.stream(array).noneMatch(x -> x == n);
}

用法:

final double[] array = {1.0, 4.5, 7.7, 0.3, 2.1};
System.out.println("Result is: " + notContains(array, 7.7)); // ==> false
System.out.println("Result is: " + notContains(array, 7.2)); // ==> true

答案 1 :(得分:1)

以上答案是正确的。您也可以使用可变长度参数(...)作为目的,但这种类型的参数的一个限制是方法中的最后一个。

public static boolean notFind(double n,double ...arr){
    for(double d:arr){
        if(d==n)
            return false;
    }
    return true;
}

及其用法

double[] array = {1.0, 4.5, 7.7, 0.3, 2.1};
    System.out.println(notFind(7.7, array)); //false
    System.out.println(notFind(7.2, array)); //true