在父类Base中定义了计算方法calculate(),该方法用于计算两个数的乘积(X*Y)。请在子类Sub中重写该方法,将计算逻辑由乘法改为除法(X/Y)。注意,当分母为0时输出“Error”。
正确代码
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);
}
@Override
public void calculate() {
if(getY()==0){
System.out.println("Error");
}else{
System.out.println(getX() /getY());
}
}
//write your code here......
}
我的代码在Sub处为什么不能直接用x跟y,而是需要getX()
class Sub extends Base {
//private 不能被继承
//write your code here......
private int x;
private int y;
public Sub(int x ,int y){
super(x,y);
}
public void calculate(){
if(y==0) System.out.print("Error");
else System.out.print(x/y);
}
}