如何使用while循环正确修改整数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用while循环正确修改整数相关的知识,希望对你有一定的参考价值。

所以基本上,我只是想从以前的两个数字中返回一个GCD,

public static String GCD( int Denominator,int Numerator) {
    int newNum=Numerator;
    int newDen=Denominator;
    int newWhole=Whole;
    int GCD=0;
    if (Numerator == 0) {
        GCD = Denominator;
    }

    while (Denominator != 0) {
        if (Numerator > Denominator) {
            Numerator = Numerator - Denominator;
        }else {
            Denominator = Denominator - Numerator;
        }
    }
    GCD = Denominator;
    System.out.println(GCD);
}

你会认为,因为我在循环之外声明GCD它会返回正常

但不,我只是得到0作为答案?几乎每次.....想法?

答案

这是因为你的while循环依赖于Denominator的值,因为当Denominator的值减小到0时循环结束。

在while循环之外,你在'GCD'中存储Denominator的值,这显然是'0'。

所以无论你在while循环中做什么,你都会得到0作为你GCD的最终结果。

我希望这能解决你的问题。

另一答案

您需要在代码中的某处使用return语句。可能在方法结束时,您需要编写return GCD;

以上是关于如何使用while循环正确修改整数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 while 循环中使用 .nextInt() 和 hasNextInt()

如何在 Python 中的另一个 while 循环中正确地创建一个 while 循环?

如何使用try和catch来保持循环以获得正确的输入?

我如何编写一个接受整数并使用while循环返回前n个偶数之和的函数function(n)?

如何在微控制器按钮上使while循环更快?

Python While Loop,也使用模数和继续命令