我是 Java 初学者。我被要求编写一个程序来查找用户输入的两个数字的 GCD。我试过这个但没有输出,如何解决?
import java.util.Scanner;
public class myclass {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int b = scan.nextInt();
if (a < b) {
for (int c = a; c < 0; c--) {
if (a % c == 0 && b % c == 0) {
System.out.print(c);
}
}
if (b < a) {
for (int c = b; c < 0; c--) {
if (b % c == 0 && a % c == 0) {
System.out.print(c);
}
}
}
}
}
}
最佳答案
更大的问题是你的循环条件不正确:
for (int c = a; c < 0; c--)
应该是
for (int c = a; c > 0; c--)
反之亦然。尽管处理 b < a
很好问题,以及a == b
通过简单地使用 else
对于第二个条款(当然有适当的括号)。
然后是在找到 GCD 后打印出错误解决方案的问题。为此,请使用 break;
在打印语句之后。
关于java - 修复两个整数的 GCD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20107474/