创建最大公分母程序,但数组参数有问题



我正在尝试查找下面列出的数组的GCD。但是,当我调用它时,我无法访问该阵列。我收到错误

GCD.java:4: error: illegal start of expression
        generalizedGCD({2,4,6,8,10});
GCD.java:4: error: not a statement
        generalizedGCD({2,4,6,8,10});

我该如何解决这个问题?

    import java.util.Arrays; 
    public class GCD{
    public static void main(String [] args){
        generalizedGCD({2,4,6,8,10});
    {
        public static int generalizedGCD(int [] arr){
                Arrays.sort(arr);
                int largest = arr[i];
            for (int i = 0; i<arr.length; i++){
            }
        }
    }
}

这个:

generalizedGCD({2,4,6,8,10});

无法正确构造新Array。用

generalizedGCD(new int[]{2,4,6,8,10});

而是构造一个Array并将其传递给方法


另请注意,代码中有一些不平衡的括号

我混合了两件事。

数组变量声明

int[] arr = {2, 4, 6, 8, 10};
generalizedGCD(arr);

方法参数定义

generalizedGCD(new int[] {2, 4, 6, 8, 10});

你的代码有很多问题。您可以使用这样的东西来轻松找到数组的 GCD,

public class GCD {
    public static void main(String[] args) {
        int result = generalizedGCD(new int[]{2, 4, 6, 8, 10});
        System.out.println(result);
    }
    public static int generalizedGCD(int[] arr) {
        int i = 1;
        int result = arr[0];
        while (i < arr.length) {
            if (arr[i] % result == 0) {
                i++;
            } else {
                result = arr[i] % result;
                i++;
            }
        }
        return result;
    }
}

最新更新