[英]error: incompatible types: int[][] cannot be converted to int
如您在下面的代碼中看到的,我試圖添加兩個(二維整數數組),我知道第一個方法中的變量(c)是對數組的引用,為什么我不能返回該數組或它的引用,我可以一般返回二維數組嗎?
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);
}
}
c是一個數組/矩陣,但是您嘗試返回一個int,請嘗試
public static int[][] sum (int[][]a,int[][]b) {
通常,您應該具體說明在問問題時java告訴您錯誤出現在哪一行。
希望能幫助到你!
由於您已將c聲明為二維數組(int[][]c=new int [a.length][b[1].length])
您的sum方法返回int,並且您嘗試返回int二維數組,因此給您一個錯誤,指出類型不兼容:int [] []無法轉換為int
您應該將返回類型從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[][]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.