Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在具有不同数据类型的java中初始化2d数组_Java_Arrays_Multidimensional Array - Fatal编程技术网

在具有不同数据类型的java中初始化2d数组

在具有不同数据类型的java中初始化2d数组,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我想用java初始化一个2d数组,它可以保存不同的数据类型,比如char、int等- 1 2 3 4 5 6 7 1 S S S S S S S 2 S S S S S S S 3 S S S S S S S 4 S S S S B S S 5 S S S S S S S 6 S S S S S B S 7 S S S S S S S 在1之前有一个空格,我想把它包含在数组中。如果我可以初始化它,我该怎么做?我在输入字符串值时是否使用ASCII约定?请帮忙。 注意-我不想打印矩阵,我将手动

我想用java初始化一个2d数组,它可以保存不同的数据类型,比如char、int等-

  1 2 3 4 5 6 7
1 S S S S S S S
2 S S S S S S S
3 S S S S S S S
4 S S S S B S S
5 S S S S S S S
6 S S S S S B S
7 S S S S S S S
在1之前有一个空格,我想把它包含在数组中。如果我可以初始化它,我该怎么做?我在输入字符串值时是否使用ASCII约定?请帮忙。
注意-我不想打印矩阵,我将手动输入这些值。

如果您想在数组中使用单个基元类型,我看到两种解决方案,或者将数字视为字符,这样您就可以拥有一个字符数组

char[][] array2d = new char[8][8]
或者干脆忽略数字,只包含字符,并从数组中的索引(x,y)中扣除正确的数字

char[][] array2d = new char[7][7]

因此,对于array2d[3][5],数字将是4和6

一个数组只能保存一种类型的数据。您可以通过将对象数组与包装器类一起使用来解决问题,或者使用一个int数组,您可以确切地知道哪些索引可以向下转换为char。很可能您需要在这里使用
char
2D数组。当然,可以使用原始对象的2D数组,但在这种情况下,您无法确定数组的每个单元格中存储的是哪种类型。请记住,切换到非类型数据结构是一个非常糟糕的主意。什么是模式,在你的例子中,数字只是“坐标”,可以很容易地从数组索引中计算出来。。。