В generateMatrix мне нужно сгенерировать квадратную матрицу со значениями в диапазоне от low
до high
(включительно), а в SumMajorDiagnal
я не уверен, правильно ли я делаю диагностическую сумму.
import java.util.Scanner;
public class Matrix{
public static void main(String args[]){
int[][] matrix= new int[4][4];
int row=0;
int column=0;
int n=0;
int sum=0;
matrix[row][column]= (int)(Math.random() *20)+1;
matrix = generateMatrix(n,row, column );
printMatrix (matrix);
sumMajorDiagnal (matrix);
System.out.println("Sum of the elements in the major diagnol is " + sum);
}
//I just don't know how to work the generateMatrix method
public static int[][] generateMatrix(int n, int low, int high){
int[][] m= new int[4][4];
for (int row=0; row <m.length; row++){
for (int column=0; column<m[row].length; column++){
}
}
return m;
}
public static int sumMajorDiagnal (int[] [] m){
int sum=0;
for (int diag=0; diag<m.length; diag++){
sum+=m[diag][diag];
}
return sum;
}
public static void printMatrix(int[][]m){
for (int row=0; row <m.length; row++){
for (int column=0; column<m[row].length; column++){
System.out.print(m[row][column]+ " ");
}
}
}
}
Компилируется, но печатается:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Сумма элементов в большой диагонали равна 0, поэтому я знаю, что что-то не так с методом generateMatrix. Есть предложения?