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
相关产品推荐
相关产品推荐

