Java 错误:不兼容的类型:int[][]无法转换为int
正如您在下面的代码中所看到的,我正在尝试添加两个(2-D整数数组),我知道第一个方法中的变量(c)是对数组的引用,为什么我不能返回该数组或其引用,我通常可以返回2-D数组,如何返回Java 错误:不兼容的类型:int[][]无法转换为int,java,arrays,Java,Arrays,正如您在下面的代码中所看到的,我正在尝试添加两个(2-D整数数组),我知道第一个方法中的变量(c)是对数组的引用,为什么我不能返回该数组或其引用,我通常可以返回2-D数组,如何返回 import java.util.*; public class Matrix_Addition { public static int sum (int[][]a,int[][]b){ int[][]c=new int [a.length][b[1].length]; f
import java.util.*;
public class Matrix_Addition {
public static int sum (int[][]a,int[][]b){
int[][]c=new int [a.length][b[1].length];
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++)
c[i][j]=a[i][j]+b[i][j];
}
return c;
}
public static void display(int[][]a){
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++)
System.out.println(a[i][j]);
}
}
public static void main(String[] args) {
int[][]a={{1,2,3},
{4,5,6},
{7,8,9}};
int[][]b={{9,8,7}
,{6,5,4},
{3,2,1}};
int[][]c=sum(a,b);
display(a);
display(c);
}
}
import java.util.*;
公共类矩阵加法{
公共静态整数和(整数[][]a,整数[][]b){
int[][]c=新的int[a.length][b[1].length];
对于(int i=0;ic)而言,它是一个数组/矩阵,但如果您试图返回int,请尝试
public static int[][] sum (int[][]a,int[][]b) {
通常,您应该详细说明java在询问问题时告诉您错误出现在哪一行
希望有帮助!因为您已将c声明为二维数组(int[]]c=new int[a.length][b[1].length])
sum方法返回intint,并且您试图返回int 2-D数组,因此它会给您一个错误,即不兼容的类型:int[][]无法转换为int
您应该将sum方法的返回类型从int更改为int[]
public static int[][] sum (int[][]a,int[][]b){
您可以使用与输入相同的类型:
public static int[][] sum(int[][] a, int[][] b)
更改这行代码的主要功能
int[][]c=sum(a,b);
与
int c=sum(a,b);
所有像这样的下线代码
display(a);
display(b);
System.out.println(c);
这将起作用。因为如果您看到您的add()
函数定义
public static int sum (int[][]a,int[][]b){.....} // return type is int not int[][].
原因:sum(int[][],int[][])
的返回类型是int
不是int[][]
您可以使用与输入相同的类型。public static int[]sum(int[]a,int[]b)