我的作业是在Java中创建Euclid算法。该任务使我同时使用while循环和if语句。此外-如果必须将语句放置在while循环内。
在执行此任务期间,我已经遇到了无限循环问题,因此设法通过了它。现在我的Euclid算法给出了多个答案(而不是一个),而且它们是错误的...
我在这里搜索了几个主题,但是那里没有显示出答案。我试图重写整个代码,以及while循环和if语句的不同条件。
import java.lang.*;
class EuklidesAlgorithm {
public static void main (String[] args) throws java.lang.Exception{
int a = 25648;
int b = 15468;
while (a % b != 0 ){
int modulo = a % b;
if (modulo == 0){
break;
}else {
modulo = a % b;
System.out.println(" Checking for GCD");
a = b;
b = modulo;
}
System.out.println(" Number " + b + " is GDC of numbers(" + a + "," + b + ").");
}
}
}
我希望给出一个答案,a和b的GCD是什么。
答案 0 :(得分:1)
首先,条件:
modulo==0
在循环内总是错误的... 而且您不必在循环内更改可变价格,也不必在每个循环中打印答案,因此... if语句很可能用于检查这两个数字中的任何一个是否为0或结果是否为0,但是您可以同时执行这两个操作