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

Java编程问题:如何统计数组中处于正确位置的元素总数?

问题分析与代码修正

你的代码核心问题是计数变量count被定义在for循环内部,导致每次循环都会重新初始化count为0。每次找到符合条件的元素时,count只会变成1并立即打印,所以会输出多个1,而不是累加后的总数。

另外你的代码存在语法错误:if语句和for循环都没有闭合,需要补充}来修复。

修正后的代码

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello, World");
         
        int[] arr = {4,2,6,0,8,5,7,1,8};
        // 将count移到循环外初始化,确保只初始化一次
        int count = 0;
        
        for(int i = 0; i < arr.length ; i++) {
            if (arr[i] == i) {
                count++; // 符合条件时累加计数
            }
        }
        // 循环结束后再打印最终总数
        System.out.println(count);
    }
}

关键修改说明

  • 把int count = 0;移到for循环外部,避免每次循环重置计数。
  • 移除循环内的System.out.println(+ count);,改为循环结束后统一打印最终的count值。
  • 补全缺失的},修复语法错误,保证代码能正常编译运行。

这样修改后,代码会正确累加所有处于正确位置的元素数量,最终输出总数,而不是每次匹配时都输出1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 08:24:13