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

Java中使用FOR-EACH循环统计高于85分成绩的实现方法

问题解答:使用FOR-EACH循环统计高于85分的成绩数量

原有代码问题梳理

  • if判断条件逻辑错误:原代码写的是score < 85,和需要的“高于85分”要求完全相反
  • if语句后多了多余的分号;,直接导致if判断失效,无论分数是否符合要求都会执行total +=1
  • 最终返回值硬编码为false,没有根据统计的计数结果做判断

修正后完整代码

public class BetterLoop {
  /**
   * 当申请人至少有4门成绩高于85分时准入,非计算机专业GPA在此处也视为一门成绩
   * 
   * @param scores 申请人的成绩列表
   * @return 申请人符合要求则返回true
   */
  public static boolean atLeastFourOver85(int[] scores) {
    // 初始化高于85分的成绩计数
    int countOver85 = 0;
    // FOR-EACH循环遍历所有成绩
    for(int score: scores){
      // 当成绩高于85分时计数+1
      if (score > 85) {
        countOver85 += 1;
      }
    }
    // 判断是否至少有4门符合要求,返回对应结果
    return countOver85 >= 4;
  }
}

实现逻辑说明

  • 首先定义计数变量countOver85,初始值为0,用来累计高于85分的成绩数量
  • 用FOR-EACH循环遍历传入的成绩数组,每次循环拿到单门成绩score
  • 每遍历到一门成绩就判断是否大于85,符合条件则计数加1
  • 遍历完全部成绩后,判断计数是否大于等于4,直接返回布尔结果即可,完全匹配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:09:04