实验四.继承与接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四
编写一个类,该类有一个方法
Public int f(int a,int b) {
………//要求该方法返回a和b的最大公约数
}
再编写一个该类的子类,要求子类重写方法f(),而且重写的方法将返回两个整数的最小公倍数。
要求:在成功写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将(a*b)/m返回;在应用的程序的主类中分别使用父类和子类创建对象,并分别调用方法f()计算两个正整数的最大公约数和最小公倍数。
代码:
import java.util.Scanner;
class A{
public int f(int a,int b) {
if(a
int temp=a;
a=b;
b=temp;
}
int r=a%b;
while(r!=0){
a=b;
b=r;
r=a%b;
}
return b;
}
}
class B extends A{
public int f(int a,int b) {
int zdgys=super.f(a,b);
return (a*b)/zdgys;
}
}
public class lader {
public static void main (String args[ ]){
A a=new A();
B b=new B();
Scanner reader=new Scanner(System.in);
System.out.println("输入2个正整数,求它们的最大公约数和最小公倍数");
System.out.print("输入第一个正整数:");
int m=reader.nextInt();
System.out.print("输入第二个正整数:");
int n=reader.nextInt();
System.out.printf("%d和%d的最大公约数是:%d\n",m,n,a.f(m,n)); System.out.printf("%d和%d的最小公倍数是:%d\n",m,n,b.f(m,n)); }
}
程序结果: