arrays - 如何调用具有多个参数(包括二维数组)的方法
问题描述
如果 mat[r][k] 的值为正,我试图创建一个返回 true 的方法,但错误消息说“PrintStream 类型中的方法 println(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;
}
解决方案
我认为您只是将括号放在错误的位置。下面的代码行是isPositive
用 just调用的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
.
推荐阅读
- angular - Angular Material Input 没有带有深色主题的白色文本
- mysql - 删除记录时 Galera 集群崩溃的场景
- java - 使用杰克逊将xml转换为Java对象
- firebase - 使用 Firebase 后端通过电话号码快速查找用户
- php - 如果用户在代理后面,则网站打开问题
- javascript - 具体来说,使用 DroneIO 有哪些优势?
- django - 如何从 Django 查询集中的 ForeignKey 的相关模型中获取值?
- mongodb - 需要从 MongoDB 集合中生成结构化文档
- cryptography - BCryptDeriveKeyPBKDF2 替代 Windows Embedded Compact 2013
- selenium-webdriver - 使用 selenium webdriver 在弹出的提交表单上单击提交按钮