You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中比较数组连续元素并打印较大值的代码错误排查求助

问题分析与代码修正

你的代码核心错误是把数组索引赋值给了current,而非对应索引的数组元素值,所以打印出来的是索引数字,不是你需要的数组元素。

错误代码的问题点

在循环的判断逻辑里:

if(list[j]>list[j+1]){
    current = j; // 这里存的是索引j,不是list[j]的实际值
}else{
    current = j+1; // 这里存的是索引j+1,不是list[j+1]的实际值
}

你需要存储的是数组元素本身,而非元素的位置索引。

修正后的代码

public class Test {
    
    public static void main(String [] args){

       int[] list = {6,0,4,2,9};
       int current;
        for(int j=0; j<list.length-1; j++){
            if(list[j]>list[j+1]){
                current = list[j]; // 存储两个元素中较大的那个值
            }else{
                current = list[j+1]; // 存储两个元素中较大的那个值
            }
        System.out.print(current + " ");
        }
    }
}

运行结果

修正后执行代码,输出就是你预期的:6 4 4 9

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:05:28