
本文详解如何使用 for 循环遍历 int 数组,逐个拼接元素并用空格连接,最终返回格式如 "3 4 5 6" 的字符串,满足基础字符串构建与循环变量作用域的教学要求。
在 Java 编程入门中,将数组元素转换为可读字符串是一项高频基础操作。本题明确要求:不使用 Arrays.toString() 等内置工具方法,而是通过显式 for 循环(索引式)手动拼接,元素间以单个空格分隔,且首尾不强制去空格(末尾多余空格可接受)。
关键约束包括:
- 必须声明一个外部 String 变量(如 str),在循环内持续更新;
- 循环需使用传统索引形式:for (int i = 0; i
- 每次迭代将 nums[i] 转为字符串并追加,同时添加空格作为分隔符。
以下是符合题意的标准实现:
public class ReturnArrayContents {
public String arrayToString(int[] nums) {
// 边界处理:空数组返回空字符串
if (nums == null || nums.length == 0) {
return "";
}
String str = ""; // 初始化为空字符串(注意:非 null)
for (int i = 0; i < nums.length; i++) {
str = str + nums[i]; // 先拼数字
if (i < nums.length - 1) {
str = str + " "; // 非末尾元素后加空格
}
}
return str;
}
}✅ 说明与注意事项:
- 使用 str = str + nums[i] 是最直观的字符串拼接方式,虽性能不如 StringBuilder,但完全满足教学场景的简洁性与可读性要求;
- 末尾不加空格的逻辑通过 if (i
- 必须处理 null 或空数组情况,否则 nums.length 将触发 NullPointerException;
- ❌ 错误示例:String str = "[1 , 2, 3, 4]"; —— 这是硬编码,未使用输入参数 nums,违反题干核心要求。
进阶提示:若后续追求效率(尤其对大数组),推荐改用 StringBuilder:
StringBuilder sb = new StringBuilder();
for (int i = 0; i < nums.length; i++) {
if (i > 0) sb.append(" ");
sb.append(nums[i]);
}
return sb.toString();该写法时间复杂度为 O(n),避免了字符串不可变性导致的多次对象创建,是工业级代码的常见选择。但对本题而言,原始 String += 方案已完全正确且更贴合教学目标。










