【发布时间】:2017-12-04 06:24:46
【问题描述】:
所以基本上,我只是想从之前的两个数字中返回一个 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 作为答案?几乎每次......想法?
【问题讨论】:
-
我怀疑您的 GCD 算法已关闭。一方面,您永远不会真正检查您所采取的步骤是否会导致分母将两个数字相除。说到这里,我什至没有在输入中看到两个分子。
标签: java while-loop integer greatest-common-divisor