首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 控制台輸出每行固定 N 個數:計數器取模換行,簡單高效

     編輯:程式設計綜合問答

需求:陣列/集合輸出時,每行固定 5 個數,超過換行。

核心邏輯:計數器 `% 5 == 0` 換行

int[] nums = {1,2,3,4,5,6,7,8,9,10,11};
int perLine = 5;
for (int i = 0; i < nums.length; i++) {
    System.out.printf("%4d", nums[i]); // 格式化對齊
    if ((i + 1) % perLine == 0) System.out.println();
}
if (nums.length % perLine != 0) System.out.println(); // 末行補換行

輸出

   1   2   3   4   5
   6   7   8   9  10
  11

泛型工具方法 (Java 8+)


public static  void printPerLine(Collection coll, int perLine, String format) {
    int i = 0;
    for (T t : coll) {
        System.out.printf(format, t);
        if (++i % perLine == 0) System.out.println();
    }
    if (i % perLine != 0) System.out.println();
}

調用:`printPerLine(Arrays.asList(nums), 5, "%4d");`

避坑

  • 別在 `if` 裡寫 `i++ % perLine`,先增後判易誤解;用 `++i` 或 `(i+1)` 明確語意。
  • 大量資料考慮 `StringBuilder` 批次輸出,減少 `System.out` 呼叫開銷。

結論:**手動計數取模最直接、效能最好,無需第三方庫。**

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved