我必须用Java编写一个递归方法,如果行降序返回true,否则返回false。

这是我尝试过的方法,但无法正常工作:

ArrayList<Integer> getallen = new ArrayList();
        getallen.add(500);
        getallen.add(400);
        getallen.add(300);
        getallen.add(200);
        getallen.add(100);
        getallen.add(0);

        System.out.println(isDescending(getallen));
    }

public static boolean isDescending(ArrayList<Integer> getallen) {
    if (getallen.size() >= 2) {
        if (getallen.get(0) < getallen.get(1)) {
            return false;
        } else if (getallen.size() > 0) {
            getallen.remove(0);
            return isDescending(getallen);
        } else {
            return true;
        }
    } else {
        return false;
    }
}

最佳答案

我认为您有不必要的情况,如果大小小于2,则只能假设是正确的。

尝试:

public static boolean isDescending(ArrayList<Integer> getallen) {
    if (getallen.size() >= 2) {
        if (getallen.get(0) < getallen.get(1)) {
            return false;
        } else {
            getallen.remove(0);
            return isDescending(getallen);
        }
    } else {
        return true;
    }
}

10-04 12:32