我试图直接将值作为参数发送到我的数组,但它不起作用
I was trying to directly send in values to my array as parameter but it does not work
如果我在另一个数组中初始化这些值,然后将其传递给主函数,它就会起作用。是我做错了什么,还是我们不能直接传递价值?这是两个代码:-
使用数组传递:-
public class DDArray {
void array(int[][] a){
int x=a.length;
int y=a[0].length;
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
public static void main(String args[]){
DDArray ob=new DDArray();
int[][] b={{1,2,3,4,5},{11,22,33,44,55}};
ob.array(b);
}
}
直接通过:-
public class DDArray {
void array(int[][] a){
int x=a.length;
int y=a[0].length;
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
public static void main(String args[]){
DDArray ob=new DDArray();
ob.array({{1,2,3,4,5},{11,22,33,44,55}});
}
}
要回答你的问题,你不能像那样直接传递值。编译器会抱怨同样的。此处的编译器错误非常简单 - 此处不允许使用数组初始化程序。
更改直接调用来自
ob.array({{1,2,3,4,5},{11,22,33,44,55}});
到
ob.array(new int[][] { { 1, 2, 3, 4, 5 }, { 11, 22, 33, 44, 55 } });
如果我在另一个数组中初始化这些值,然后将其传递给主函数,它就会起作用。是我做错了什么,还是我们不能直接传递价值?这是两个代码:- 使用数组传递:-
public class DDArray {
void array(int[][] a){
int x=a.length;
int y=a[0].length;
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
public static void main(String args[]){
DDArray ob=new DDArray();
int[][] b={{1,2,3,4,5},{11,22,33,44,55}};
ob.array(b);
}
}
直接通过:-
public class DDArray {
void array(int[][] a){
int x=a.length;
int y=a[0].length;
for(int i=0;i<x;i++){
for(int j=0;j<y;j++){
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
public static void main(String args[]){
DDArray ob=new DDArray();
ob.array({{1,2,3,4,5},{11,22,33,44,55}});
}
}
要回答你的问题,你不能像那样直接传递值。编译器会抱怨同样的。此处的编译器错误非常简单 - 此处不允许使用数组初始化程序。
更改直接调用来自 ob.array({{1,2,3,4,5},{11,22,33,44,55}}); 到 ob.array(new int[][] { { 1, 2, 3, 4, 5 }, { 11, 22, 33, 44, 55 } });