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

Java使用嵌套if else遍历数组打印值不正确是什么原因?

问题错误点

  • 分支逻辑位置错误:你将6079分、5059分的判断逻辑嵌套在了「分数>79」的判断分支内,只有分数超过79的学生才会执行这部分判断,分数在50~79区间的学生没有匹配的输出分支,所以222(75分)、444(58分)没有任何输出。
  • 高分段重复输出:81分满足>79的条件打印Honors后,还会继续执行嵌套在内部的>59判断,81也满足该条件,所以额外多打印了一行First Division,导致111出现了两行输出。

修正后代码

public class JavaApplication53 {
    public static void main(String[] args) {
        int rollNumber[]={111, 222, 333, 444};
        int marks[]={81, 75, 43, 58};
        
        for(int i=0; i<rollNumber.length; i++) {
            if(marks[i]>49) {
                if(marks[i]>79) {
                    System.out.println(rollNumber[i] + " Honors");
                } else if(marks[i]>59){
                    System.out.println(rollNumber[i] + " First Division");
                } else {
                    System.out.println(rollNumber[i] + " Second Division");
                }
            } else {
                System.out.println(rollNumber[i]+ " Fail");
            }
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:15:04