Java作业

阅读更多
package homework03;
import java.util.Scanner;
/*
* 编写一个类,该类有一个方法
* public int f(int a,int b){
*
* }
* 然后编写一个该类的子类,要求重写方法f(),而且重写的方法将返回两个整数的最小公倍数。要求:
* 在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将a*b/m返回;在应用程序的
* 主类中分别使用父类和子类创建对象,并分别调用方法f()计算两个正整数的最大公约数和最小公倍数。
*/
class Father{
public int f(int a,int b){ //返回最大公约数
int r;
do {
if (a < b) {
int t = a;
a = b;
b = t;
}
r = a % b;
a= b;
b = r;
} while (r != 0);
return a;
}
}
class Son extends Father{
public int f(int a,int b){ //重写父类函数public int f(int a,int b);返回最小公倍数。
return a*b/super.f(a, b);
}
}
public class ch05_1 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入第一个整数 : ");
int a = s.nextInt();
System.out.println("请输入第二个整数 : ");
int b = s.nextInt();
System.out.println("由父类的f(int a,int b)方法计算的最大公约数:"+new Father().f(a,b));
System.out.println("由子类重写的f(int a,int b)方法计算的最小公倍数:"+new Son().f(a, b));
}
}

你可能感兴趣的:(Java,F#)