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

Java代码输出因子时如何移除末尾逗号?技术求助

解决Java因子输出末尾多余逗号的问题

这里提供三种实用的解决方案,帮你去掉输出结果末尾的逗号:

方法1:收集因子后用String.join拼接

先把所有因子存入集合,再用逗号拼接输出,代码简洁直观:

import java.util.ArrayList;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    int number = 6;
    System.out.print("Factors of " + number + " are: ");
    
    List<Integer> factors = new ArrayList<>();
    for (int i = 1; i <= number; ++i) {
      if (number % i == 0) {
        factors.add(i);
      }
    }
    // 将整数列表转为字符串数组后用逗号拼接
    System.out.print(String.join(",", factors.stream().map(String::valueOf).toArray(String[]::new)));
  }
}

方法2:控制逗号的输出时机

通过标记判断是否为第一个因子,仅在非第一个因子前输出逗号,无需额外集合:

public class Main {
  public static void main(String[] args) {
    int number = 6;
    System.out.print("Factors of " + number + " are: ");
    
    boolean isFirstFactor = true;
    for (int i = 1; i <= number; ++i) {
      if (number % i == 0) {
        if (!isFirstFactor) {
          System.out.print(",");
        }
        System.out.print(i);
        isFirstFactor = false;
      }
    }
  }
}

方法3:用StringBuilder构建后删除末尾逗号

先拼接所有带逗号的因子,最后删除末尾多余的逗号:

public class Main {
  public static void main(String[] args) {
    int number = 6;
    System.out.print("Factors of " + number + " are: ");
    
    StringBuilder sb = new StringBuilder();
    for (int i = 1; i <= number; ++i) {
      if (number % i == 0) {
        sb.append(i).append(",");
      }
    }
    // 确保有内容再删除最后一个逗号
    if (sb.length() > 0) {
      sb.deleteCharAt(sb.length() - 1);
    }
    System.out.print(sb);
  }
}

内容的提问来源于stack exchange,提问作者fatih.bolukbas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:05:45