话不多说,直接看代码:
//模拟计算器。
interface Compute{//主接口
Integer compute(int n,int m);
}
class Add implements Compute{
public Integer compute(int n,int m){
return n+m;//加法运算
}
}
class Sub implements Compute{
public Integer compute(int n,int m){
return n-m;//减法运算
}
}
class Mul implements Compute{
public Integer compute(int n,int m){
return n*m;//乘法运算
}
}
class Div implements Compute{
public Integer compute(int n,int m){
if(m==0){//当分子为零时,默认返回0
System.out.print("分母为0, ");
return 0;
}
return n/m;//除法运算
}
}
class UseCompute{//工厂设计模式
public void useCom(Compute com,int n,int m){
System.out.println(com.compute(n,m));
}
}
public class Mmc{
public static void main(String[] args){
UseCompute user = new UseCompute();
user.useCom(new Add(),10,20);//传参
user.useCom(new Sub(),10,20);//传参
user.useCom(new Mul(),10,20);//传参
user.useCom(new Div(),10,20);//传参
user.useCom(new Div(),10,0);//分母为0
}
}
在VScode下运行此代码:
加减乘除四则基本运算都可以实现;
读者可自由传入参数进行测试;