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

Java多维数组存储异常求助:如何将句子拆分存入对应列?

解决二维数组列拆分问题

嘿,我一眼就看出问题所在啦!你现在是把names数组里的每整个字符串直接塞进了words[i][0]里,自然所有内容都挤在第一列咯。要实现你想要的每列存一个元素的效果,关键是把每个names字符串按空格拆分成子字符串,再分别赋值给二维数组的对应列。

具体修改方案

下面是调整后的代码,我加了详细注释帮你理解:

String[] names = topNames.toArray(new String[topNames.size()]);
String[][] words = new String[names.length][5];

for (int i = 0; i < names.length; i++) {
    // 用\\s+匹配一个或多个空白字符(包括空格、制表符),避免多个空格导致拆分出空元素
    String[] splitParts = names[i].split("\\s+");
    
    // 先检查拆分后的元素数量是否符合预期,避免数组越界
    if (splitParts.length == 5) {
        // 把拆分后的每个元素依次放到二维数组的对应列
        for (int j = 0; j < 5; j++) {
            words[i][j] = splitParts[j];
        }
    } else {
        // 可选:处理格式异常的情况,比如打印错误提示
        System.err.println("警告:第" + i + "条数据格式不对,无法拆分为5个部分:" + names[i]);
    }
}

额外注意点

如果你的数据里存在包含空格的字段(比如名字是"Mary Ann"这种),那直接按空格拆分就会出错。这种情况下你需要确认数据的分隔规则——比如是否用逗号、制表符等其他分隔符,或者数据本身保证每个字段不含空格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:48:11