有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    使用Java 8时有一个单行程序:

    public class GCD {
        public static void main(String[] args) {
            int[] ints = { 42, 21, 14, 70 };
            System.out.println(gcd(ints));
        }
        public static int gcd(int[] ints) {
            return Arrays.stream(ints).reduce((a, b) -> gcd(a, b)).getAsInt();
        }
        public static int gcd(int a, int b) {
            return b == 0 ? a : gcd(b, a % b);
        }
    }
    

    输出为“7”。聚合函数称为约化

    备选方案:lambda也可以用方法引用编写

    public static int gcd(int[] ints) {
        return Arrays.stream(ints).reduce(GCD::gcd).getAsInt();
    }