利用接口做参数,写个计算器,能完成加减乘除运算。
(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来完成加减乘除运算。
import java.util.Scanner; class Add implements Compute{ public double computer(double n, double m) { System.out.printf("结果为:%f",n+m); return n+m; } } class Subtract implements Compute{ public double computer(double n, double m) { System.out.printf("结果为:%f",n-m); return n-m; } } class Multiply implements Compute{ public double computer(double n, double m) { System.out.printf("结果为:%f",n*m); return n*m; } } class Divide implements Compute{ public double computer(double n, double m) { System.out.printf("结果为:%f",n/m); return n/m; } } class UseCompute { public void useCom(Compute com,double n,double m){ com.computer(n,m); } } public class Test { public static void main(String args[]) { Compute s1=new Add(); Compute s2=new Subtract(); Compute s3=new Multiply(); Compute s4=new Divide(); System.out.println("请输入四则运算操作:1.加 2.减 3.乘 4.除"); Scanner in = new Scanner(System.in); int select = in.nextInt(); Add a = new Add(); if (select==1){ System.out.println("请输入被加数:"); double n = in.nextDouble(); System.out.println("请输入加数:"); double m = in.nextDouble(); s1.computer(n,m); } if (select==2){ System.out.println("请输入被减数:"); double n = in.nextDouble(); System.out.println("请输入减数:"); double m = in.nextDouble(); s2.computer(n,m); } if (select==3){ System.out.println("请输入被乘数:"); double n = in.nextDouble(); System.out.println("请输入乘数:"); double m = in.nextDouble(); s3.computer(n,m); } if (select==4){ System.out.println("请输入被除数:"); double n = in.nextDouble(); System.out.println("请输入除数:"); double m = in.nextDouble(); s4.computer(n,m); } } }
一个主类Test,调用UseCompute中的方法useCom来完成加减乘除运算。