编写一个抽象类Calculate,这个类包含一个抽象方法count(),定义一个CommonDivser类和CommonMultiple类,都继承自Calculate类,并重写count()方法,分别实现计算最大公约数和最小公倍数。定义一个测试类,包含有main()方法,在该方法中实例化CommonDivser对象和CommonMultiple对象,并通过多态性(对象上传型),实现对count()方法的引用。
希望采纳,有问题可以再问我
分文件写
//Calculate 类
public abstract class Calculate {
abstract int count(int a,int b);
}
public class CommonDivser extends Calculate {
@Override
int count(int a,int b) {
if (a > b) {
if (a % b == 0) { //a能被b整除
return b;
} else {
return 1;
}
} else if (a < b) {
if (b % a == 0) { //b能被a整除
return a;
} else {
return 1;
}
} else { //a b 相等
return a;
}
}
}
public class CommonMutiple extends Calculate {
@Override
int count(int a,int b) {
if (a > b) {
if (a % b == 0) { //a能被b整除
return a;
} else {
return a * b;
}
} else if (a < b) {
if (b % a == 0) { //b能被a整除
return b;
} else {
return a * b;
}
} else { //a b 相等
return a;
}
}
}
public class Test {
public static void main(String[] args) {
//利用多态性,实例化对象
Calculate c1 = new CommonDivser();
Calculate c2 = new CommonMutiple();
System.out.println("12和6的最大公约数是:" + c1.count(12,6));
System.out.println("12和6的最小公倍数是:" + c2.count(12,6));
System.out.println("12和5的最大公约数是:" + c1.count(12,5));
System.out.println("12和5的最小公倍数是:" + c2.count(12,5));
}
}