如何使用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 循环?