You need to enable JavaScript to run this app. 如何打印布尔类型方法返回值 实现带boolean返回值的数组有序校验
优惠活动
大模型
产品
解决方案
定价
更多

如何打印布尔类型方法返回值 实现带boolean返回值的数组有序校验

代码现存问题
  • 逻辑方向完全错误:你写的代码是标准的冒泡排序实现,执行时会直接修改传入的原数组元素顺序。哪怕传入的是完全乱序的数组,被排序完成后再做判断,永远会返回“已排序”的错误结果,根本达不到“判断数组初始状态是否有序”的目的。
  • 语法不合法:方法声明返回值为boolean,但全方法没有任何return语句,无法通过编译。
  • 边界处理缺失:直接读取arr[0]的写法没有考虑空数组、长度为0的数组场景,这类场景下会直接抛出数组下标越界异常。
修正后的正确实现

判断数组是否处于升序状态不需要执行排序操作,仅需单次遍历对比相邻元素即可,时间复杂度仅为O(n),远高于双层循环的冒泡实现效率:

public static boolean sorted(int[] arr) {
    // 覆盖所有默认有序的边界场景
    if (arr == null || arr.length <= 1) {
        return true;
    }
    // 逐次对比相邻元素
    for (int i = 1; i < arr.length; i++) {
        // 出现逆序直接返回false,不用继续遍历
        if (arr[i - 1] > arr[i]) {
            return false;
        }
    }
    // 遍历全程无逆序,即为已排序状态
    return true;
}
控制台输出返回值的方法

在类中添加主方法,直接调用上述方法,将返回的布尔值通过标准打印语句输出即可,示例代码:

public static void main(String[] args) {
    int[] orderedArr = {2, 4, 6, 8, 10};
    System.out.println(sorted(orderedArr));

    int[] messyArr = {5, 3, 7, 1, 9};
    System.out.println(sorted(messyArr));
}

运行后控制台会直接输出对应的判断结果:

true
false

内容的提问来源于stack exchange,提问作者anar1501

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.04 21:45:08