首页 > 解决方案 > 带有数学运算符和数组的 Java Return 方法

问题描述

我需要创建一个返回 x/2 的除数的函数,将它们放入一个数组并返回这个数组。“x”是来自不同方法的用户的输入。

public static int[] findDividers(int[] x) {


    int[] array = new int[x/2];
    for(int i=1; i <= array.length; i++) {
        // int c = x/i;
        if (x%i == 0) {
            array[i] = i;   
            System.out.println(i);

        }
    return array;

    }

我不断收到错误:

“对于参数类型 int[], int,运算符 / 和 % 未定义”

有什么建议么?

标签: java

解决方案


如果您只是修改 findDividers 方法的参数,您的函数应该没问题。它应该如下:

//Will return dividers of x, not x/2
public static int[] findDividers(int x) { //not int[] x
//if x is of type int[] i.e an array, it makes no sense to
//use the '/' and '%' operators on it. That's why the compiler was
//complaining on your code

int[] array = new int[x/2];
for(int i=1; i <= array.length; i++) {
    // int c = x/i;
    if (x%i == 0) {
        array[i-1] = i;   
        System.out.println(i);

    }

}
return array;
}

推荐阅读