>calculate整数计算(Base父类及子类Sub)<
定义一个父类 Base
中的方法 calculate()
,该方法用于计算两个数的乘积(X*Y)
。定义一个 Base
类的子类 Sub
,在 Sub
中重写 calculate()
方法,将计算逻辑由乘法改为除法 (X/Y)
。注意,当分母为 0
时输出 “Error”
。
输入描述:
两个整数
输出描述:
两个整数的商和积( int 类型,不考虑小数情况)
说明:
1.类中的属性必须私有
实例1:
输入:6 2
输出:3 12
实例2:
输入:1 0
输出:Error 0
一、解题思路
1、解法一( Java )
解法思路:
super
关键字
通过super关键字来实现对父类成员的访问,用来引用当前对象的父类
this
关键字
指向自己的引用
代码如下:
import java.util.Scanner;
public class Day2_Calculate {
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;
/*private不能被继承
*/
public Base(int x, int y) {
this.x = x;
this.y = y;
// this 调用自己的方法
}
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);
// super 调用父类方法
}
@Override
public void calculate() {
if(getY()==0){
System.out.println("Error 0");
return;
}
else{
System.out.print(getX()/getY());
System.out.print(" ");
System.out.println(getX()*getY());
}
}
}
运行结果截图如下: