一、需求
创建类 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;
}
}