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

Java中如何使用String数组实现addPrefix方法添加与修改前缀

问题核心需求
  • 实现public static addPrefix()方法,入参为字符串数组、字符串前缀,返回全新数组
  • 新数组每个元素为「传入前缀 + 单个空格 + 原数组对应位置元素」
  • 禁止修改传入的原数组内容
预期运行效果
String[] names = {"John", "Smit", "Karl"};
var namesWithPrefix = App.addPrefix(names, "Mr.");

System.out.println(Arrays.toString(namesWithPrefix));
// => ["Mr. John", "Mr. Smit", "Mr. Karl"]

System.out.println(Arrays.toString(names)); // 原数组不发生改变
// => ["John", "Smit", "Karl"]
原代码问题排查
  • 方法签名错误:第二个入参应该是单个字符串String prefix,而非字符串数组String[] prefixes,和调用逻辑不匹配
  • 冗余逻辑:数组输出时的方括号、逗号分隔符是Arrays.toString()方法自动生成的,不需要手动拼接,手动添加会导致格式完全错乱
  • 拼接逻辑错误:没有在前缀和名称之间添加要求的空格,还将所有元素累计拼接到同一个字符串中,未按位置给新数组元素单独赋值
正确实现代码
public class App {
    public static String[] addPrefix(String[] names, String prefix) {
        String[] result = new String[names.length];
        for (int i = 0; i < names.length; i++) {
            // 按位置单独拼接前缀、空格、原元素
            result[i] = prefix + " " + names[i];
        }
        return result;
    }
}

实现说明:新数组是单独初始化的新对象,遍历过程中只读取原数组的元素值,全程不会修改原数组的内容,符合需求要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 00:51:16