我必须在String
array
内存储length
矩阵(3x20)。incompatible types
可能会有所不同。
我正在尝试以下代码,但我收到int x=0;
String[] arrayF=new String[10];
arrayF[x]= new String[3][20];
错误。
我该如何解决此错误?
我的代码是:
{{1}}
答案 0 :(得分:1)
您不能以这种方式分配数组。您最终应该将第一个2数组的每个元素分配给1-d数组。
类似的东西:
String[][] array2D =new String[M][N];
String[] array1D = new String[M * N];
for (int i = 0 ; i < M ; i++)
{
for (int j = 0 ; i < N ; i++)
{
array1D[(j * N) + i] = array2D[i][j];
}
}
答案 1 :(得分:0)
arrayF
是一个字符串数组,因此arrayF
中的每个元素都必须是一个字符串(根据数组的定义)。
你要做的是在new String[3][20]
的每个元素中放置一个数组(arrayF
)而不是字符串,这显然与它的定义相矛盾(因此incompatible types
错误)。
您想要的一个解决方案可能是使用三维字符串数组:
String[][][] arr = new String[10][3][20];
答案 2 :(得分:0)
arrayF是具有String类型的一维数组。 您不能将二维数组添加到arrayF。对于动态数组大小,您应该使用ArrayList。
List<String[][]> main = new ArrayList<String[][]>();
String[][] child1 = new String[3][20];
String[][] child2 = new String[3][20];
main.add(child1);
main.add(child2);
答案 3 :(得分:0)
使用类似的东西:
String [][] strArr = new String[3][20];
ArrayList<String[][]> tm = new ArrayList<String[][]>();
tm.add(strArr);