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

Java编程问题:修改阈值过滤程序实现带末尾逗号的输出

问题:如何让符合条件的每个输出值后都带逗号(包括最后一个)

需求回顾

编写程序从输入获取整数列表:

  • 输入开头的整数表示后续整数的数量
  • 最后一个输入值作为阈值
  • 输出所有小于等于该阈值的整数,每个值后必须带逗号(包括最后一个符合条件的值)
    示例:输入5 50 60 140 200 75 100时,预期输出为50,60,75,

现有代码问题

现有代码的输出为50,60,75,缺少最后一个逗号,不符合格式要求。问题出在逗号的判断逻辑:

if (i < numIntegers - 1) {
    System.out.print(",");
}

这个条件是基于数组的索引位置判断,而非元素是否为最后一个符合条件的值。只要当前循环的索引不是数组倒数第二个,就加逗号,但最后一个符合条件的元素(比如示例中的75)刚好是数组最后一个元素,此时i < numIntegers - 1不成立,所以不会添加逗号。

修复方案

直接去掉多余的逗号判断,只要元素符合条件,就输出元素+逗号,无需额外判断位置。

修改后的完整代码:

import java.util.Scanner;

public class LabProgram {
    public static void main(String[] args) {
        Scanner scnr = new Scanner(System.in);
        int[] userValues = new int[20];
        int numIntegers = scnr.nextInt();

        for (int i = 0; i < numIntegers; ++i) {
            userValues[i] = scnr.nextInt();
        }

        int threshold = scnr.nextInt();

        for (int i = 0; i < numIntegers; ++i) {
            if (userValues[i] <= threshold) {
                // 直接输出元素和逗号,无需判断位置
                System.out.print(userValues[i] + ",");
            }
        }
    }
}

效果验证

输入示例5 50 60 140 200 75 100时,程序会输出50,60,75,,完全符合需求格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 18:01:19