Как вызвать метод с несколькими параметрами, включая двумерный массив - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь создать метод, который возвращает true, если значение mat [r] [k] положительное, но сообщение об ошибке говорит: «Метод println (int) в типе PrintStream не применим для аргументов (int [] [], int, int)

Вызов метода:

public static void main(String[] args) {

int[][] matrix = { { 1, 2, 3 }, { 4, -5, 6 }, { -7, 8, 0 } };

    System.out.println(isPositive(matrix), 2, 3);


}

Метод:

public static String isPositive(int[][] mat, int r, int k) {
r--;
k--;

boolean value = false;

 for (int i = 0; i < mat.length; i++) {
    for (int j = 0; j < mat[i].length; j++) {

        if (mat[r][k] > 0) {
            value = true;
        }
    }
}
String out = "(" + mat[r][k] + ") : " + value;
return out;
}

1 Ответ

0 голосов
/ 11 октября 2018

Я думаю, у вас просто скобки не в том месте.Строка кода ниже вызывает isPositive только с matrix, но она ожидает еще 2 int параметра:

System.out.println(isPositive(matrix), 2, 3);

Когда я запустил его таким образом, я получил ошибку:

method isPositive in class Test cannot be applied to given types;
    System.out.println(isPositive(matrix), 2, 3);
                       ^
required: int[][],int,int
found: int[][]
reason: actual and formal argument lists differ in length

Вы можете просто изменить его на следующий код:

System.out.println(isPositive(matrix, 2, 3));

Теперь он вызывает isPositive с 3Аргументы, которые он ожидает, затем возвращаясь к println.Я сделал это и запустил, и получил такой вывод: (6) : true.

...