代码如下:
//AddOperation类:
/*
* 加法运算
*/
public class AddOperation extends Operation {
public AddOperation(int num1, int num2) {
super(num1, num2);
}
//重写运算方式
@Override
public void operate() {
System.out.println(num1+"+"+num2+"="+(num1+num2));
}
}
//SubOperation类:
/*
*减法运算
*/
public class SubOperation extends Operation {
public SubOperation(int num1, int num2) {
super(num1, num2);
}
//重写运算方式
@Override
public void operate() {
System.out.println(num1+"-"+num2+"="+(num1-num2));
}
}
//MultiOperation类:
/*
* 乘法运算
*/
public class MultiOperation extends Operation {
public MultiOperation(int num1, int num2) {
super(num1, num2);
}
//重写运算方式
@Override
public void operate() {
System.out.println(num1+"*"+num2+"="+(num1*num2));
}
}
//DivOperation类:
/*
* 除法运算
*/
public class DivOperation extends Operation {
public DivOperation(int num1, int num2) {
super(num1, num2);
}
//重写运算方式
@Override
public void operate() {
if(num2==0){
System.out.println("抛出异常,除数不能为0");
return;
}
System.out.println(num1+"/"+num2+"="+(num1/num2));
}
}
//测试Demo类:
import java.util.Scanner;
/*
* 使用面向对象实现:两个数的四则运算
*/
public class Demo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个整数:");
int m=sc.nextInt();
System.out.println("请输入第二个整数:");
int n=sc.nextInt();
System.out.println("请选择进行的运算:\t1加法\t2减法\t3乘法\t4除法");
int opNum=sc.nextInt();
switch (opNum) {
case 1:
AddOperation addOperation=new AddOperation(m, n);
addOperation.operate();
break;
case 2:
SubOperation subOperation=new SubOperation(m, n);
subOperation.operate();
break;
case 3:
MultiOperation multiOperation=new MultiOperation(m, n);
multiOperation.operate();
break;
case 4:
DivOperation divOperation=new DivOperation(m, n);
divOperation.operate();
break;
default:
System.out.println("操作不正确");
break;
}
}
//进行两个数的四则运算
public static void Operate(Operation operations){
operations.operate();
}
}