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

Java实现:如何将两个字符串数组元素两两组合后存入数组返回?

解决字符串数组两两组合并返回数组的问题

原代码存在的问题

  1. 返回类型不匹配:方法声明返回String[],但最终返回的是单个字符串str2,编译直接报错。
  2. 未正确填充结果数组:嵌套循环中仅用str2临时存储组合后的字符串,每次循环会覆盖前一次的值,且从未将结果存入初始化好的str1数组。
  3. 缺少数组位置跟踪变量:没有变量记录结果数组中当前要写入的位置,无法依次填充所有组合结果。

修正后的代码

public class Solution {

    public static String[] combineAllStrings(String[] s1, String[] s2) {
        int resultLength = s1.length * s2.length;
        String[] result = new String[resultLength];
        int index = 0;
        
        for(int i = 0; i < s1.length; i++) {
            for(int j = 0; j < s2.length; j++) {
                result[index] = s1[i] + s2[j];
                index++;
            }
        }
        return result;
    }
}

关键修正点说明

  • 数组索引跟踪:新增index变量,每次完成一组字符串组合后,将结果存入result[index],随后index自增,确保每个组合结果都能依次放入数组的对应位置。
  • 返回正确类型:最终返回初始化好的result数组,符合方法的返回类型要求。
  • 逻辑保留:保留了原代码中通过嵌套循环遍历两个数组生成组合的核心逻辑,这部分是正确的。

示例验证

输入:

String[] arr1 = {"a", "c", "e"};
String[] arr2 = {"b", "d", "f"};

调用combineAllStrings(arr1, arr2)后,返回的结果数组为:
["ab", "ad", "af", "cb", "cd", "cf", "eb", "ed", "ef"],与预期输出一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:15:39