2020-01-03-计算两个数的最大公约数

一、需求

创建类 Computer,该类中有一个计算两个数的最大公约数的方法,如果向该方法传递负整数,该方法就会抛出自定义异常。

二、实现

package com.eleven.csdn0103;

import java.util.Scanner;

/**
 * 创建类 Computer,该类中有一个计算两个数的最大公约数的方法,如果向该方法传递负整数,该方法就会抛出自定义异常。
 * 
 * @author sywangu
 *
 */
public class Computer {

	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个正整数:");
		int a = sc.nextInt();
		System.out.println("请输入第二个正整数:");
		int b = sc.nextInt();
		if (a < 0 && b < 0) {
			throw new Exception("输入的值不可以为负数");
		}
		System.out.println(a + "和" + b + "的最大公约数为:" + getGCD(a, b));
		sc.close();
	}

	public static int getGCD(int x, int y) { // x接受第一个整数,y接受第二个整数
		for (int a = x; a >= 1; a--) {// 从x开始递减遍历x到1的所有整数
			if (x % a == 0 && y % a == 0) {// 如果有一个数同时满足被x,y整除,那么这个数就是我们要找的最大公约数
				return a;// 返回这个最大公约数的值
			}
		}
		return y;
	}

}

发布了90 篇原创文章 · 获赞 284 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_41293896/article/details/103824204