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

如何实现返回二维数组字符串表示的Java方法tilStreng?

问题分析与修正方案

先明确你代码里的核心错误:

  • main方法中:String[][] tall = ""; 类型不匹配,二维字符串数组不能赋值为普通字符串;调用tilStreng(matrise)时,matrise变量未定义,需先创建题目要求的int二维数组。
  • tilStreng方法中:无法访问main里的tall变量;内层循环每次拼接元素后直接加\n,会导致每个元素单独占一行,不符合格式要求;最后返回null而非目标字符串;直接拼接字符串效率低下,建议用StringBuilder。

修正后的完整代码

public class OppgaveB {

    public static void main(String[] args) {
        // 创建题目给定的二维数组
        int[][] matrise = {{1,2,3}, {4,5,6}, {7,8,9}};
        // 调用方法并打印结果
        System.out.println(tilStreng(matrise));
    }

    public static String tilStreng(int[][] matrise) {
        // 用StringBuilder高效拼接字符串
        StringBuilder sb = new StringBuilder();
        // 遍历每一行
        for (int i = 0; i < matrise.length; i++) {
            // 遍历当前行的每个元素
            for (int j = 0; j < matrise[i].length; j++) {
                // 添加元素和空格
                sb.append(matrise[i][j]).append(" ");
            }
            // 每一行遍历完后添加换行符
            sb.append("\n");
        }
        // 返回拼接好的字符串
        return sb.toString();
    }
}

代码说明

  • 用StringBuilder替代直接字符串拼接,避免频繁创建字符串对象,提升运行效率。
  • 外层循环遍历二维数组的每一行,内层循环遍历当前行的所有元素,每个元素后追加空格。
  • 每一行元素遍历完成后追加换行符\n,完全匹配题目要求的输出格式。
  • main方法中先初始化题目指定的二维数组,再调用tilStreng方法并打印结果。

内容的提问来源于stack exchange,提问作者Elisabeth.Norway

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:45:34