Java判断两个整数是否有公约数

类图

classDiagram
    class CheckCommonDivisor {
        - int num1
        - int num2
        + CheckCommonDivisor(int num1, int num2)
        + boolean hasCommonDivisor()
    }

流程图

flowchart TD
    A(开始)
    B(创建CheckCommonDivisor对象)
    C(判断是否有公约数)
    D(输出结果)
    A --> B --> C --> D

步骤表格

步骤 描述
1 创建CheckCommonDivisor对象
2 调用hasCommonDivisor方法判断是否有公约数
3 输出结果

代码实现

public class CheckCommonDivisor {
    private int num1;
    private int num2;
    
    // 构造方法
    public CheckCommonDivisor(int num1, int num2) {
        this.num1 = num1;
        this.num2 = num2;
    }
    
    // 判断是否有公约数
    public boolean hasCommonDivisor() {
        for (int i = 2; i <= Math.min(num1, num2); i++) {
            if (num1 % i == 0 && num2 % i == 0) {
                return true;
            }
        }
        return false;
    }
}

public class Main {
    public static void main(String[] args) {
        int num1 = 12;
        int num2 = 18;
        
        CheckCommonDivisor checker = new CheckCommonDivisor(num1, num2);
        boolean result = checker.hasCommonDivisor();
        
        if (result) {
            System.out.println(num1 + "和" + num2 + "有公约数");
        } else {
            System.out.println(num1 + "和" + num2 + "没有公约数");
        }
    }
}

在上面的代码中,我们首先创建了一个CheckCommonDivisor类,其中包含了两个私有成员变量num1和num2,以及一个构造方法用于初始化这两个变量;同时还包含了一个hasCommonDivisor方法用于判断两个整数是否有公约数。在main方法中,我们创建了一个CheckCommonDivisor对象,传入两个整数进行判断,并输出结果。

希望通过这篇文章,你能够学会如何判断两个整数是否有公约数,并能在以后的开发中更加熟练地使用Java语言。如果有任何问题,欢迎随时向我提问。祝你学习进步!