当编写一个简单的方法资源来计算通过二维数组输入的整数的除法和余数时,eclipse标记了方法类型不适用于参数的错误。
我正在创建一个实用程序.class来导入到其他.class文件中,所以我可以调用这些方法,而不是一遍又一遍地编写长行的简单数学运算。所有方法的参数都以数组形式输入。
以下是该方法和被调用方法的代码副本。
static int iadd(int[] x) {
int y = 0;
for(int i = 0; i < x.length; i++) {
y += x[i];
}
return y;
}
static int divrem(int[][] x) {
for(int i = 0; i < x[0].length; i++) {
int a = iadd(x[0][i]);
}
for(int i = 0; i < x[1].length; i++) {
int b = iadd(x[1][i]);
}
我也有添加双打的代码,但我不认为我可以获得最接近的整数红利。
static double dadd(double[] x) {
double y = 0;
for(int i = 0; i < x.length; i++) {
y += x[i];
}
return y;
}
我确定我错过了一些愚蠢的话。有人可以向我解释如何解决这个问题吗?
修改
我需要将输入参数设置为iadd()为数组而不是单个整数。
答案 0 :(得分:1)
iadd(int[] x)
接受一个int数组,但是你用一个int调用它。
iadd(x[0][i]);
删除其中一个[]
deferences将传递单维int数组...
iadd(x[i]);
我不确定你的数学试图实现什么,这可能无法产生正确的结果,但这是编译时错误的原因。
答案 1 :(得分:0)
对于初学者,您需要将1D数组传递给iadd()
,但如果您只在array[0]
和array[1]
上运行,则可以取消divrem()
中的循环。