面向对象-java控制台计算器简单实现[50行]

---恢复内容开始---

 1 import java.util.*;
 2 public class Test{
 3     public  static  void main(String [] args){
 4         String  add="add",sub="dub",mul="mul",div="div";
 5         // [需求]  写一个面向对象的计算器程序;
 6         CalcuImpl  test  = new CalcuImpl();
 7         while(true){
 8             System.out.println("please input two any numbers?And one operatot example[14 add 15]");
 9             test.Operator(new Scanner(System.in).nextDouble(),new Scanner(System.in).nextDouble(),new Scanner(System.in).next());
10         }
11     }
12 }
13 interface Calculator{
14     public void Operator(double num1,double num2,String operator);
15 }
16 interface Operator{
17     public double add(double num1,double num2);
18     public double sub(double num1,double num2);
19     public double mul(double num1,double num2);
20     public double div(double num1,double num2);
21 }
22 class OperaotrImpl implements Operator{
23     public double add(double num1,double num2){
24         return num1+num2;
25     }
26     public double sub(double num1,double num2){
27         return num1-num2;
28     }
29     public double mul(double num1,double num2){
30         return num1*num2;
31     }
32     public double div(double num1,double num2){
33 
34         return num1/num2;
35     }
36 }
37 class CalcuImpl implements Calculator{
38     final static String ADD ="add",SUB="sub",MUL="mul",DIV="div";
39     OperaotrImpl   o  = new OperaotrImpl();
40     public void Operator(double num1,double num2,String operator){
41         switch(operator){
42             case ADD:System.out.println(o.add(num1,num2));
43                break;
44             case SUB:System.out.println(o.sub(num1,num2));
45                break;
46             case MUL:System.out.println(o.mul(num1,num2));
47                break;
48             case DIV:System.out.println(o.div(num1,num2));
49                break;
50         }
51     }
52 }
View Code

有点基础的看看吧,都很简单,所以没写注释;

---恢复内容结束---

import java.util.*;
public class Test{
    public  static  void main(String [] args){
        String  add="add",sub="dub",mul="mul",div="div";
        // [需求]  写一个面向对象的计算器程序;
        CalcuImpl  test  = new CalcuImpl();
        while(true){
            System.out.println("please input two any numbers?And one operatot example[14 15 add]");
            test.Operator(new Scanner(System.in).nextDouble(),new Scanner(System.in).nextDouble(),new Scanner(System.in).next());
        }
    }
}
interface Calculator{
    public void Operator(double num1,double num2,String operator);
}
class Operator{
    public double add(double num1,double num2){return 0.0;}
    public double sub(double num1,double num2){return 0.0;}
    public double mul(double num1,double num2){return 0.0;}
    public double div(double num1,double num2){return 0.0;}
}
class OperaotrImpl extends Operator{
    //  继承可以减少代码 的冗余,需要哪个就 Override父类的方法;
    public double add(double num1,double num2){
        return num1+num2;
    }
    public double sub(double num1,double num2){
        return num1-num2;
    }
    public double mul(double num1,double num2){
        return num1*num2;
    }
    public double div(double num1,double num2){

        return num1/num2;
    }
}
class CalcuImpl implements Calculator{
    final static String ADD ="add",SUB="sub",MUL="mul",DIV="div";
    OperaotrImpl   o  = new OperaotrImpl();
    public void Operator(double num1,double num2,String operator){
        switch(operator){
            case ADD:System.out.println(o.add(num1,num2));
               break;
            case SUB:System.out.println(o.sub(num1,num2));
               break;
            case MUL:System.out.println(o.mul(num1,num2));
               break;
            case DIV:System.out.println(o.div(num1,num2));
               break;
        }
    }
}

 

 1 import java.util.*;
 2 public class Test{
 3     public  static  void main(String [] args){
 4         String  add="add",sub="dub",mul="mul",div="div";
 5         // [需求]  写一个面向对象的计算器程序;
 6         CalcuImpl  test  = new CalcuImpl();
 7         while(true){
 8             System.out.println("please input two any numbers?And one operatot example[14 add 15]");
 9             test.Operator(new Scanner(System.in).nextDouble(),new Scanner(System.in).nextDouble(),new Scanner(System.in).next());
10         }
11     }
12 }
13 interface Calculator{
14     public void Operator(double num1,double num2,String operator);
15 }
16 interface Operator{
17     public double add(double num1,double num2);
18     public double sub(double num1,double num2);
19     public double mul(double num1,double num2);
20     public double div(double num1,double num2);
21 }
22 class OperaotrImpl implements Operator{
23     public double add(double num1,double num2){
24         return num1+num2;
25     }
26     public double sub(double num1,double num2){
27         return num1-num2;
28     }
29     public double mul(double num1,double num2){
30         return num1*num2;
31     }
32     public double div(double num1,double num2){
33 
34         return num1/num2;
35     }
36 }
37 class CalcuImpl implements Calculator{
38     final static String ADD ="add",SUB="sub",MUL="mul",DIV="div";
39     OperaotrImpl   o  = new OperaotrImpl();
40     public void Operator(double num1,double num2,String operator){
41         switch(operator){
42             case ADD:System.out.println(o.add(num1,num2));
43                break;
44             case SUB:System.out.println(o.sub(num1,num2));
45                break;
46             case MUL:System.out.println(o.mul(num1,num2));
47                break;
48             case DIV:System.out.println(o.div(num1,num2));
49                break;
50         }
51     }
52 }
View Code

有点基础的看看吧,都很简单,所以没写注释;

posted @ 2015-10-13 17:56  所--谓  阅读(3510)  评论(0编辑  收藏  举报