método booleano a la matriz de verificación se ordena en java

utopía:

Estoy escribiendo un método para comprobar si un array de tipo doble es ascendente numéricamente en Java. Sin embargo, no entiendo por qué debo cambiar en donde coloco return truey return falsepara mi código para trabajar. Seguramente puedo guardo como es y debería seguir funcionando? ¿Qué no estoy entendiendo?

public static boolean isSorted(double[] arr) {
    for (int i = 0; i < arr.length-1; i++) {
        if (arr[i] < arr[i + 1]) {
            return true;
        }
    }
    return false;
}

Andrónico:

Usted está volviendo a la primera si invocación cuerpo de la declaración, lo que significa, usted está comprobando si los dos primeros elementos se ordenan. Usted no debe regresar false, si hay un par consecutivo, que no está ordenada. Si usted pasa por toda la matriz y no se encuentra dicho par, entonces la matriz está ordenada. Esto debería hacer el trabajo:

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

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=364640&siteId=1
Recomendado
Clasificación