在父类Base中定义了计算方法calculate(),该方法用于计算两个数的乘积(X*Y)。请在子类Sub中重写该方法,将计算逻辑由乘法改为除法(X/Y)。注意,当分母为0时输出“Error”。
注意:
1.此题中父类Base中的变量x,y使用了private,造成了子类Sub无法直接使用x与y,所以要使用父类中返回变量x,y的方法。
2.需要在子类Sub的构造方法中先对父类的构造方法进行使用。
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
int x = scanner.nextInt();
int y = scanner.nextInt();
Sub sub = new Sub(x, y);
sub.calculate();
}
}
}
class Base {
private int x;
private int y;
public Base(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public void calculate() {
System.out.println(getX() * getY());
}
}
class Sub extends Base {
public Sub(int x,int y){
super(x,y);
}
public void calculate(){
if(getY()==0){
System.out.println("Error");
}else{
System.out.println(getX() / getY());
}
}
}