Java将二维数组传递给方法 publicstaticvoidmain{ 字符串[][]book=新字符串[100][6]; 对于(int i=0;i
arrayMethod方法的输出是[[Ljava.lang.String;@639facbc[Ljava.lang.String;@8059dbd[Ljava.lang.String;@28b6e768[Ljava.lang.String;@1271ba,…]Java将二维数组传递给方法 publicstaticvoidmain{ 字符串[][]book=新字符串[100][6]; 对于(int i=0;i,java,arrays,multidimensional-array,parameter-passing,Java,Arrays,Multidimensional Array,Parameter Passing,arrayMethod方法的输出是[[Ljava.lang.String;@639facbc[Ljava.lang.String;@8059dbd[Ljava.lang.String;@28b6e768[Ljava.lang.String;@1271ba,…] 问题是,在arrayMethod中,我无法访问二维数组数据,哪里会有问题?它正在做您想要做的事情:您假装(第一级)数组是一个列表(属于数组),然后打印其中的toString(),看起来像[Ljava.lang。String@pointer
问题是,在arrayMethod中,我无法访问二维数组数据,哪里会有问题?它正在做您想要做的事情:您假装(第一级)数组是一个
列表(属于数组),然后打印其中的toString()
,看起来像[Ljava.lang。String@pointer
。您可能希望这样:
public static void main{
String [][] book = new String[100][6];
for(int i = 0; i < 1; i++) {
for(int j = 0; j < 5; j++) {
book[i][j] = i;
}
}
arrayMethod(book);
}
public static void arrayMethod(String[][] array){
System.out.println(Arrays.asList(array));
}
正如Alya'a Gamal所说,如果你想在字符串数组中放入一个int,你需要解析它:book[i][j]=Integer.toString(i);
。
然后,如果要显示阵列,则需要运行Think it,例如:
System.out.println(Arrays.deepToString(array));
publicstaticvoidarraymethod(字符串[][]数组){
for(int i=0;i
您可以使用数组.toString
打印一维字符串数组,但不能使用数组.toString
直接打印二维数组
在console中打印2D字符串数组有两种方法
方式#1==>
public static void arrayMethod(String[][] array){
for(int i = 0; i < array.length;i++) {
for(int j = 0; j < array[i].length;j++)
System.out.println(array[i][j]); // a stringBuilder would be better than to print inside the loop
}
}
System.out.println(Arrays.deepToString(array));
方式#2==>
public static void arrayMethod(String[][] array){
for(int i = 0; i < array.length;i++) {
for(int j = 0; j < array[i].length;j++)
System.out.println(array[i][j]); // a stringBuilder would be better than to print inside the loop
}
}
System.out.println(Arrays.deepToString(array));
我在这里看到三个问题:
(1) 。主方法的签名看起来很奇怪。这会引发编译问题
for(String[] arr: array)
{
System.out.println(Arrays.toString(arr));
}
(2) 。在以下代码中:
public static void main(String args[])
{
// Your code here
}
(3)
在数组
类中使用以下静态方法在控制台上打印2D数组的元素
book[i][j] = Integer.toString(i);
希望这有帮助
+1用于隔离问题。要编译,必须使用book[i][j]=“i”;main方法的签名如何?有一个问题,只传递1(最后一个)数组元素,其他所有元素都是null