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));
 }
}

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值