Может кто-нибудь сказать мне, как передать этот массив в мой основной метод, чтобы он печатал? - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь передать свой массив, и он не распечатывает sumAllColumnsRows, и я искал много сайтов, и я не уверен, как распечатать то, что делает код. передается из метода ниже.

public static void main(String[] args){

    Scanner input= new Scanner(System.in);

    System.out.print("Enter dimension of an nxn matrix ");
    int x=input.nextInt();
    double[][] nxn=new double[x][x];
    for(int i=0;i<x;i++) {
        System.out.print("Enter row " + (i) + ": ");
        for(int j=0;j<x;j++){
            nxn[i][j]=input.nextDouble();
        }
    }
    System.out.println(sumAllColumnsRows(m, column, rowColumn));
}

public static double sumAllColumnsRows(double[][] m, boolean column, int rowColumn)
{
    double total=0;
    for (int col = 0; col < m[0].length; col++) {
        int colSum = 0;
        for (int row = 0; row < m.length; row++) {
            colSum += m[row][col];
        }
        System.out.println("Sum of the elements at col " + col + " is: " + colSum);
    }

    for (int row = 0; row < m.length; row++) {
        int rowSum = 0;
        for (int col = 0; col < m[row].length; col++) {
            rowSum += m[row][col];
        }
        System.out.println("Sum of the elements at row " + row + " is: " + rowSum);
    }
    return total;
}

Ответы [ 2 ]

0 голосов
/ 02 ноября 2019

Вы не добавляете к итоговой переменной в sumAllColumnsRows. Он всегда вернет 0.

public static double sumAllColumnsRows(double[][] m, boolean column, int rowColumn) {
    double total = 0;
    for (int col = 0; col < m[0].length; col++) {
        int colSum = 0;
        for (int row = 0; row < m.length; row++) {
            colSum += m[row][col];
        }
        total += colSum;
        System.out.println("Sum of the elements at col " + col + " is: " + colSum);
    }

    for (int row = 0; row < m.length; row++) {
        int rowSum = 0;
        for (int col = 0; col < m[row].length; col++) {
            rowSum += m[row][col];
        }
        total += rowSum;
        System.out.println("Sum of the elements at row " + row + " is: " + rowSum);
    }
    return total;
}
0 голосов
/ 02 ноября 2019

Хорошо, ваша проблема, вероятно, определена здесь, но я думаю, что у вас могут быть другие проблемы. Первое:

double[][] nxn=new double[x][x];
...
System.out.println(sumAllColumnsRows(m, column, rowColumn));

Вы определяете свою переменную, но не передаете m. У вас также нет переменных column и rowColumn. Я предполагаю, что этот код не компилируется.

Обратите внимание, однако, что ваш sumAllColumnsRows фактически не использует эти вторые два аргумента.

Сообщения об ошибках от javac должны были помочь понять это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...