我正在尝试查找下面列出的数组的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;
}
}