有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java检查数组的降序

我正在编写代码来检查数组是按升序还是降序排列。如果布尔值“升序”为真,那么我检查它是否为升序。如果为false,则检查是否存在下降。我需要帮助检查数组是否正在下降。。。我有检查升序的代码,代码如下:

protected boolean isSorted(boolean ascending) {
    boolean result = false; 

    if (ascending) { 
        for (int i=0;i<data.length-1;i++) {
            if(data[i] < data[i+1]) {
                result = true;
            } else if(data[i] > data[i+1]) {
                result = false;
            }
        }
    } else {
        //code to check for descending order
    }
}

共 (1) 个答案

  1. # 1 楼答案

    if(“升序”检查)的第一部分是错误的,应该是:

    for (int i = 0; i < data.length-1; i++) {
        if (data[i] > data[i+1]) {
            return false;
        }
    }
    return true;
    

    相反,递减检查应该是(请注意,它足以更改比较运算符的方向):

    for (int i = 0; i < data.length-1; i++) {
        if (data[i] < data[i+1]) {
            return false;
        }
    }
    return true;
    

    在这两种情况下,只要找到一对不包含升序或降序属性的单个数字,就必须立即跳出循环,并且只在循环退出后返回true