** 利用接口做参数,写个计算器,能完成加减乘除运算。
- (1)定义一个接口Compute含有一个方法int computer(int n, int m)。
- (2)设计四个类分别实现此接口,完成加减乘除运算。
- (3)设计一个类UseCompute,类中含有方法:public void useCom(Compute com, int one, int two),此方法能够用传递过来的对象调用computer方法完成运算,并输出运算的结果。
- (4)设计一个主类Test,调用UseCompute中的方法useCom来完成加减乘除运算。**
package work;
interface ICompute{
int compute(int m,int n);
}
class UseCompute{
private int m;
private int n;
public void UseCom(ICompute com,int a,int b){
this.m=a;
this.n=b;
com.compute(m,n);
}
}
class Add implements ICompute{
private int m;
private int n;
private int result;
public int compute(int m,int n){
this.m=m;
this.n=n;
this.result=m+n;
System.out.println(m+"+"+n+"="+result);
return result;
}
}
class Minus implements ICompute{
private int m;
private int n;
private int result;
public int compute(int m,int n){
this.m=m;
this.n=n;
this.result=m-n;
System.out.println(m+"-"+n+"="+result);
return result;
}
}
class Mul implements ICompute{
private int m;
private int n;
private int result;
public int compute(int m,int n){
this.m=m;
this.n=n;
this.result=m*n;
System.out.println(m+"*"+n+"="+result);
return result;
}
}
class Div implements ICompute{
private int m;
private int n;
private int result;
public int compute(int m,int n){
this.m=m;
this.n=n;
this.result=m/n;
System.out.println(m+"/"+n+"="+result);
return result;
}
}
public class Test {
public static void main(String[] args) {
UseCompute com=new UseCompute();
com.UseCom(new Add(),2,2);
com.UseCom(new Minus(),5,2);
com.UseCom(new Mul(),2,2);
com.UseCom(new Div(),4,2);
}
}