首页 > 解决方案 > 计算GCD java,为什么我一直得到0?

问题描述

public class gcd1 {

    public static int gcd(int inT, int inU) {
        int t = inT;
        int u = inU;

        if (u == 0) {
            return u;
        }
        return gcd(u, t % u);

    }
    public static void main(String[] args) {
        System.out.println(gcd(288, 30));
    }
}

当我应该得到 6 时,我一直得到 0。我不确定我在这里做错了什么。

标签: java

解决方案


您在第 6 行返回了错误的变量

if (u == 0){
    return u;
}

这应该是

if (u == 0){
    return t;
}

试试这个,它会工作的。


推荐阅读