的問題應該在calculateMainDiagonal方法,編譯錯誤我得到的是:收到編譯錯誤:INT [] []不能被轉換成int的Java
int[][] cannot be converted to int int sumD1 = calculateMainDiagonal(m);
現在主要應該保持不變,因爲它是我的教授碼。任何幫助將不勝感激。我相信我想要返回一個int,但我不確定。
嘗試我想:
public static int [][] calculateMainDiagonal(int sum);
public static int [][] calculateMainDiagonal(int [][] sum);
public static int calculateMainDiagonal(int sum)
當我輸入這樣的:
public static int calculateMainDiagonal(int [][] sum);
它給了我這個編譯錯誤,而不是:
java:50: error: missing method body, or declare abstract public static int calculateMainDiagonal(int [][] sum);
public class TesterProject
{
public static void main(String [] args)
{
int n = getMatrixSize();
int[][] m = makeAndFillMatrix(n);
printMatrix(m);
int sumD1 = calculateMainDiagonal(m);
System.out.println("The sum of the main diagonal is " + sumD1);
}
public static int getMatrixSize()
{
Scanner S = new Scanner(System.in);
System.out.println("give me a int to create the matrix");
int n = S.nextInt();
return n;
}
public static int [][] makeAndFillMatrix(int n)
{
Random generator = new Random(5);
int [][] r = new int[n][n];
int rand = generator.nextInt(10);
for(int i = 0; i < r.length; i++)
{
for(int j = 0; j < r[i].length; j++)
{
r[i][j]= rand;
}
}
return r;
}
public static void printMatrix(int [][] matrix)
{
for(int r = 0; r < matrix.length; r++)
{
for(int c = 0; c < matrix[r].length; c++)
{
System.out.print(matrix[r][c] + " ");
}
System.out.println();
}
}
//only problem is this method
public static int calculateMainDiagonal(int sum);
{
int total = 0;
for (int r = 0; r < total; r++)
{
total += r;
}
return total;
}
}
聲明該行'calculateMainDiagonal'中有一個多餘的分號。 – ajb
另外,不要調用參數'sum'。你正在計算一個矩陣的值。矩陣是參數,而不是總和。 – ajb
OMG,我好蠢......我在這裏工作了好幾個小時。我不敢相信我沒有發現這一點。 – IDK