Java中的元素比较

时间:2016-08-12 10:56:43

标签: java

比较Java中的两个数组如何检查array1中的所有元素是否大于array2?如果array1中的所有元素都大于array2 else yes,我想返回no

4 个答案:

答案 0 :(得分:0)

使用布尔值代替System.out.println

进行检查

使用你的例子......假设a是数组1而b是数组2.你要确保数组1中的所有元素都比数组2中的所有元素都大吗?

boolean bolSmaller = false;
for(i=0;i<n;i++){
    for(j=0;j<n;j++){
        if(a[i] <= b[j]){
            //if element in array 2 is bigger than element in array 1..
            bolSmaller=true;
        }
    }
}

现在你只需检查布尔值,如果是,则数组2的元素大于数组1。

答案 1 :(得分:0)

这种方法仅花费O(n):

public int getMinimalElement(int[] array) {
    int min = array[0];
    for (int i = 0; i < array.length; i++)
        if (array[i] < min)
            min = array[i];
    return min;
}

public int getMaxElement(int[] array) {
    int max = array[0];
    for (int i = 0; i < array.length; i++)
        if (array[i] > max)
            max = array[i];
    return max;
}

public void compare(int[] array1, int[] array2) {
    if (getMinimalElement(array1) > getMaxElement(array2))
        System.out.println("Yes");
    else
        System.out.println("No");
}

答案 2 :(得分:0)

在这里找到一个例子:

boolean greater = true;
for(int i=0;i<a.length;i++){
    for(int j=0;j<b.length;j++){
        if (a[i]<=b[j])
        {
            greater = false;
        }
    }
}
if (greater){
    System.out.println("Yes");
}else{
    System.out.println("No");
}

答案 3 :(得分:0)

这是逻辑:
 1.在array2中找到最大元素
 2.迭代array1并将每个元素与最大值进行比较  3.如果array1中的所有元素都大于max,那么就完成了。
这是代码:

    int max = Integer.MIN_VALUE;
    for(int i=0; i < arr2.length; i++){
        if(max < arr2[i])
            max = arr2[i];
    }


    boolean allGreater = true;
    for(int i=0; i < arr1.length; i++){
        if(max >= arr1[i]){
            allGreater = false;
            break;
        }
    }

    System.out.println("Is arr1 is greater than arr2? Ans:" + allGreater);