下载此文档

表达式计算-java代码.doc


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
packagemain;.*;;;;lassExpression{publicstaticvoidmain(String[]args){intindex=0;for(inti=0;i<4;i++)for(intj=0;j<4;j++)for(intn=0;n<4;n++)for(intm=0;m<4;m++){Stringexp="5"+trans(i)+"5"+trans(j)+"5"+trans(n)+"5"+trans(m)+"5";Expressex=newExpress(exp);if(()){if(==()){index++;(index+":"+exp+"=5");}}}}//将索引转换成运算符publicstaticStringtrans(intindex){Stringtemp="";switch(index){case0:temp="+";break;case1:temp="-";break;case2:temp="*";break;case3:temp="/";break;}returntemp;}}classExpress{privateStringexpression;//运算符栈privateStack<String>operator=newStack<String>();//操作数栈privateStack<Double>number=newStack<Double>();//保存将输入表达式拆分后的结果privateList<String>exp=newArrayList<>();//运算符优先级关系表privatechar[][]relation={{'>','>','<','<','>'},{'>','>','<','<','>'},{'>','>','>','>','>'},{'>','>','>','>','>'},{'<','<','<','<','='}};//构造函数,将表达式末尾加上结束标志#,在运算符栈中压入开始标志#publicExpress(Stringex){expression=ex+"#";("#");}//将输入的表达式(字符串)拆分成字符串数组,便于处理publicvoidsplit(){try{Patternpattern=pile("\\d+|\\D");Matchermatcher=(expression);while(()){(());}}catch(PatternSyntaxExceptione){("产生异常了!");}}//获取运算符对应的下标,以便于范文relation表privateinttoInt(Stringop){switch(op){case"+":return0;case"-":return1;case"*":return2;case"/":return3;case"#":return4;}return-1;}//获取两个运算符之间的优先级关系privatechargetRelation(Stringop,Stringtemp){returnrelation[toInt(op)][toInt(temp)];}//pute(doublenum1,doublenum2,Stringop)throwsArithmeticException{doubleresult=0;switch(op){case"+":result=num2+num1;break;case"-":result=num2-num1;break;case"*":result=num2*num1;break;case"/":if(num1==0){thrownewArithmeticException("除数为零");}else{result=num2/num1;}break;}returnresult;}//计算结果publicbooleanworkOut(){//将表达式(字符串)拆成便于处理的形式split();intindex=0;while(()==false){Stringtemp=(index);//如果是数字,压入数字栈if((

表达式计算-java代码 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小26 KB
  • 时间2019-11-21