【问题标题】:How to call on a method with several parameters including a two-dimensional array如何调用具有多个参数(包括二维数组)的方法
【发布时间】:2019-03-16 17:33:10
【问题描述】:

如果 mat[r][k] 的值为正,我正在尝试创建一个返回 true 的方法,但错误消息说“PrintStream 类型中的方法 println(int) 不适用于参数 ( 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;
}

【问题讨论】:

    标签: arrays methods parameters call dimensional


    【解决方案1】:

    我认为您只是将括号放在错误的位置。下面的代码行仅使用matrix 调用isPositive,但它需要另外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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-16
      • 2015-01-13
      相关资源
      最近更新 更多