zoukankan      html  css  js  c++  java
  • 四则运算----封装

    我的结对伙伴是:陈思明   http://www.cnblogs.com/chensiming/

    package size;
    import java.util.Stack;
    public class opt
    {
        public int math(String str)
        { 
            String[] operater =new String[20]; 
            String[] number = new String[20]; 
            Stack countStack1 = new Stack(); 
            Stack countStack2 = new Stack(); 
            int result =0; 
            number = str.split("\/|\*|\+|\-"); 
            operater= str.split("\d+"); 
            for(int i = 0; i<number.length;i++)
            { 
                countStack1.push(number[i]); 
                if(i!=number.length-1)
                {
                    countStack1.push(operater[i+1]); 
                } 
            } 
            while(!countStack1.isEmpty())countStack2.push(countStack1.pop()); 
            String op;
            while(!countStack2.isEmpty())
            { 
                result=0; 
                op = countStack2.pop().toString(); 
                if(op.equals("*"))
                { 
                result=Integer.parseInt(countStack1.pop().toString())*Integer.parseInt(countStack2.pop().toString()); 
                countStack1.push(result); 
                continue; 
                }
                if(op.equals("/"))
                { 
                result=Integer.parseInt(countStack1.pop().toString())/Integer.parseInt(countStack2.pop().toString()); 
                countStack1.push(result); 
                continue; 
                } 
                countStack1.push(op); 
            }
            while(!countStack1.isEmpty())countStack2.push(countStack1.pop()); 
            while(!countStack2.isEmpty())
            {
                result=0; 
                op = countStack2.pop().toString(); 
                if(op.equals("+"))
                { 
                    result=Integer.parseInt(countStack1.pop().toString())+Integer.parseInt(countStack2.pop().toString()); 
                    countStack1.push(result); 
                    continue; 
                } 
                if(op.equals("-"))
                { 
                    result=Integer.parseInt(countStack1.pop().toString())-Integer.parseInt(countStack2.pop().toString()); 
                    countStack1.push(result); 
                    continue; 
                } 
                countStack1.push(op); 
            }
            return result;
        } 
    }

    上一次我已经将计算的模块独立出来了,这次将他丢到另一个CLASS里封装了起来,方便测试以及其他用途

  • 相关阅读:
    python 类
    hdu 5761 Rowe Bo 微分方程
    calendar 示例
    hdu 5753 Permutation Bo
    hdu 5752 Sqrt Bo
    finally 语句
    throws 和 throw
    python打开.pkl的文件并显示里面的内容
    Python 类变量,成员变量,静态变量,局部变量
    python 实例方法,类方法,静态方法,普通函数
  • 原文地址:https://www.cnblogs.com/SiPine/p/4469070.html
Copyright © 2011-2022 走看看