描述
已知抽象类Base中定义了calculate方法,该方法的计算过程依赖于sum()和avg(),而后两个方法均为抽象方法。要求定义Base的子类Sub类,并实现父类的抽象方法,使得main函数中的运算逻辑得以正确执行。
输入描述:
两个整数
输出描述:
两个整数的和除以两个整数的平均值(平均值为int类型,不考虑小数问题)
import java.util.Scanner; public class Main { public static void main(String[] args) { // Sub是需要你定义的子类 Base base = new Sub(); Scanner scanner = new Scanner(System.in); while (scanner.hasNextInt()) { int x = scanner.nextInt(); int y = scanner.nextInt(); base.setX(x); base.setY(y); System.out.println(base.calculate()); } } } abstract class Base { private int x; private int y; public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } public int calculate() { if (avg() == 0) { return 0; } else { return sum() / avg(); } } /** * 返回x和y的和 */ public abstract int sum(); /** * 返回x和y的平均值 */ public abstract int avg(); } class Sub extends Base { //write your code here...... public int sum(){ return super.getX()+super.getY(); } public int avg(){ return sum()/2; } }
实现抽象方法
最新推荐文章于 2024-08-26 21:52:11 发布
该博客主要讨论了Java编程中的抽象类和继承概念。通过一个具体的例子,展示了如何定义一个抽象类`Base`,其中包含`calculate`方法,该方法依赖于抽象方法`sum()`和`avg()`。然后创建子类`Sub`,实现了父类的抽象方法,用于计算两个整数的和除以它们的平均值。博客内容包括输入两个整数,输出它们的和除以平均值的结果,强调了Java中的抽象方法实现和继承机制。
摘要由CSDN通过智能技术生成