当前位置:   article > 正文

编程题: 利用接口做参数,写个计算器,能完成加减乘除运算。 (1)定义一个接口Compute含有一个方法int computer(int n, int m)。 (2)设计四个类分别实现此接口,完_利用接口做参数,写个计算器,能完成加减乘除运算。 定义一个接口icompute含有一个

利用接口做参数,写个计算器,能完成加减乘除运算。 定义一个接口icompute含有一个
  1. interface Computer{
  2. int computer(int n,int m);
  3. }
  4. class Add implements Computer{
  5. @Override
  6. public int computer(int n, int m) {
  7. return n+m;
  8. }
  9. }
  10. class sub implements Computer{
  11. @Override
  12. public int computer(int n, int m) {
  13. return n-m;
  14. }
  15. }
  16. class multiply implements Computer{
  17. @Override
  18. public int computer(int n, int m) {
  19. return n*m;
  20. }
  21. }
  22. class divide implements Computer{
  23. @Override
  24. public int computer(int n, int m) {
  25. if(m!=0) {
  26. return n/m;
  27. }else {
  28. System.out.println("分母不能为零");
  29. return 0;
  30. }
  31. }
  32. }
  33. class UseCompute{
  34. public void usecom(Computer com,int n,int m) {
  35. System.out.println(com.computer(n, m));
  36. }
  37. }
  38. public class test2 {
  39. public static void main(String[] args) {
  40. UseCompute useCompute=new UseCompute();
  41. useCompute.usecom(new Add(), 10, 20);
  42. useCompute.usecom(new sub(), 10, 20);
  43. useCompute.usecom(new multiply(), 10, 20);
  44. useCompute.usecom(new divide(), 10, 20);
  45. useCompute.usecom(new divide(), 10, 0);
  46. }
  47. }

在UseCompute类中传入Computer接口的实例化对象,然后在主类中实例化UseCompute类,调用usecom()方法,分别传入 Add

sub   multiply   divide   类的匿名对象,这就相当于完成了向上转型,在usecom()方法中进行对computer()方法的调用,由于computer()方法被子类覆写过,调用的就是覆写后的方法,这样  usecom()方法,就可以分别完成加减乘除的功能。

在进行除法操作时要注意,传入的分母一定不能为空。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/69519
推荐阅读
相关标签
  

闽ICP备14008679号