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

如何用Java循环遍历分数数组按阈值返回对应布尔数组

Java数组阈值判断功能实现

原代码存在的问题

  • 判断逻辑误用了未赋值的输出数组highScores,应该取输入的scores数组的对应元素进行比较
  • 入参threshold是单个int类型的阈值,不是数组,不能使用threshold[i]写法
  • if判断后多写了分号,会导致判断逻辑直接失效,不会执行对应的赋值操作
  • return语句放在了循环内部,第一次循环就会直接返回未完成赋值的数组

修正后完整代码

public class SimpleArray {

  /**
   * 接收考生的分数数组和阈值,返回布尔数组标记每个分数是否高于阈值
   * 
   * 示例:输入分数为 [80, 85, 89, 92, 76, 81],阈值为85,返回 [false, false, true, true, false, false]
   * 
   * @param scores 考生分数数组
   * @param threshold 判定阈值
   * @return 布尔数组,对应位置为true代表该分数高于阈值,否则为false
   */
  public static boolean[] applicantAcceptable(int[] scores, int threshold) {
  
    boolean[] highScores = new boolean[scores.length];

    // 遍历所有分数逐个判断
    for (int i = 0; i < highScores.length; i++){
      // 判断当前分数是否大于阈值,将结果存入输出数组对应位置
      highScores[i] = scores[i] > threshold;
    }
    // 所有元素判断完成后再返回结果
    return highScores;
  }
}

逻辑说明

  1. 初始化的highScores数组长度和输入分数数组一致,保证每个分数都有对应的布尔标记
  2. 循环遍历每个索引位置,取出对应位置的分数和阈值比较,直接将比较的布尔结果赋值给输出数组的对应位置,不需要额外写if分支也可以实现
  3. 所有元素遍历完成后再返回最终的输出数组,保证所有分数都完成了判断

内容的提问来源于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.03 02:57:02