【发布时间】:2021-09-01 12:30:35
【问题描述】:
我需要为我的学习解决这个练习。 答:在 Java 上编写一个递归方法,输入一个字符串数组 [][] "a",输出一个字符串数组 [][] "b",其中每个元素 b[i][j] 是一个连接a 的两个元素作为 a[i][j].concat(a[i][j+1]).
我的代码:
public static String [][] concatena (String [][] a) {
String [][] b = new String [a.length][];
return concatena(a,b,0,0);
}
public static String [][] concatena (String [][] a,String [][] b, int i, int j) {
if (i == a.length)
return b;
if (j == 0)
b[i] = new String [a[i].length-1];
if (j > 0 )
b[i][j] = a[i][j].concat(a[i][j+1]);
return concatena(a,b,i,j+1);
if (j == a[i].length-1)
return concatena(a,b,i+1,0);
b[i][j] = a[i][j].concat(a[i][j+1]);
return concatena(a,b,i,j+1);
}
public static void main(String[] args) {
String [][] a = {{"aa","cde","run","kdef"},{"stk","beta"},{"rho","p","alfa"}};
b = concatena(a);
System.out.println(b);
}
}
【问题讨论】:
-
您的问题是什么?我只看到了一个目标和一些代码,没有详细说明您的问题是什么以及您遇到了什么问题。
-
尝试运行我的代码时什么都没有。我认为我的代码运行不正确,因为没有创建元素 b[i][j]。
标签: java arrays string recursion