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

Java中如何实现ArrayList内字符串按每行10个显示?

嘿,没问题!不过得先纠正个小误区——%f是专门用来格式化浮点数的,对咱们的字符串单词完全不适用哈。不过咱们可以用字符串格式化的方式(比如%s)配合简单的计数逻辑,轻松实现每行显示10个单词的效果。

实现思路

核心逻辑很简单:遍历你的ArrayList单词列表,每输出一个单词就计数,当计数达到10的倍数时就换行。如果想让排版更整齐,还可以用格式化字符串给每个单词设置固定宽度,避免长短不一导致的排版混乱。

代码示例(Java)

假设你的列表存储的是String类型,给你写个可直接复用的例子:

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

public class MadLibsWordDisplay {
    public static void main(String[] args) {
        // 模拟你的单词列表
        List<String> wordList = new ArrayList<>();
        for (int i = 1; i <= 32; i++) {
            wordList.add("Word" + i);
        }

        int wordCount = 0;
        for (String word : wordList) {
            // 用%-12s让每个单词占12个字符宽度,左对齐,排版更整齐
            System.out.print(String.format("%-12s", word));
            wordCount++;
            
            // 每10个单词换行
            if (wordCount % 10 == 0) {
                System.out.println();
            }
        }
        
        // 处理最后一行不足10个的情况,补换行避免内容挤在一起
        if (wordCount % 10 != 0) {
            System.out.println();
        }
    }
}
关键细节解释
  • 为什么用%-12s?%s是字符串的格式化占位符,-表示左对齐,12是设置每个单词占用的字符宽度,这样不管单词长短,每行的单词都会对齐得整整齐齐,比直接输出空格分隔要美观得多。
  • 计数换行逻辑:通过wordCount % 10 == 0判断是否到达每行的第10个单词,满足条件就输出换行符。
  • 最后一行处理:如果总单词数不是10的倍数,循环结束后手动加个换行,防止最后一行的单词和控制台的提示符混在一起。

如果你不需要对齐,只想简单的空格分隔+每行10个,也可以把String.format那行换成System.out.print(word + " "),计数换行的逻辑保持不变就行,完全看你想要的展示效果~

内容的提问来源于stack exchange,提问作者Patrick Bays

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:09:13