Java编程那些事儿80——集合框架简述 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-24
//计算乘除 while(true){ index1 = v.indexOf("*"); //乘号索引值 index2 = v.indexOf("/"); //除号索引值 //无乘除符号 if(index1 == - 1 && index2 == -1){ break; //结束循环 } //如果有乘号 if(index1 != -1){ //没有除号或乘号在前 if(index2 == -1 || index1 < index2){ String s1 = (String)v.get(index1 - 1); //第一个数字 String opr = (String)v.get(index1); //运算符 String s2 = (String)v.get(index1 + 1); //第二个数字 //计算 String answer = calc(s1,s2,opr); //计算以后的处理 handle(answer,index1 - 1,v); } } //有除号 if(index2 != -1){ //没有乘号或除号在前 if(index1 == -1 || index2 < index1){ String s1 = (String)v.get(index2 - 1); //第一个数字 String opr = (String)v.get(index2); //运算符 String s2 = (String)v.get(index2 + 1); //第二个数字 //计算 String answer = calc(s1,s2,opr); //计算以后的处理 handle(answer,index2 - 1,v); } } } //计算加 int index3 = v.indexOf("+"); while(index3 != -1){ //有加号 String s1 = (String)v.get(index3 - 1); //第一个数字 String opr = (String)v.get(index3); //运算符 String s2 = (String)v.get(index3 + 1); //第二个数字 //计算 String answer = calc(s1,s2,opr); //计算以后的处理 handle(answer,index3 - 1,v); //获得下一个加号的位置 index3 = v.indexOf("+"); } //计算减 index3 = v.indexOf("-"); while(index3 != -1){ //有加号 String s1 = (String)v.get(index3 - 1); //第一个数字 String opr = (String)v.get(index3); //运算符 String s2 = (String)v.get(index3 + 1); //第二个数字 //计算 String answer = calc(s1,s2,opr); //计算以后的处理 handle(answer,index3 - 1,v); //获得下一个减号的位置 index3 = v.indexOf("-"); } //反馈结果 String data = (String)v.get(0); return Double.parseDouble(data); } /** * 计算两个字符串类型的值运算结果 * @param number1 数字1 * @param number2 数字2 * @param opr 运算符 * @return 运算结果 */ private static String calc(String number1,String number2,String opr){ //将字符串转换为数字 double d1 = Double.parseDouble(number1); double d2 = Double.parseDouble(number2); //判断运算符 if(opr.equals("+")){ return "" + (d1 + d2); } if(opr.equals("-")){ return "" + (d1 - d2); } if(opr.equals("*")){ return "" + (d1 * d2); } if(opr.equals("/")){ return "" + (d1 / d2); } return "0"; //运算符错误时返回0 } /** * 计算以后的处理 * @param answer 计算结果 * @param index 参与计算的三个字符 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Java编程那些事儿80——集合框架简述 - 编程入门网的所有评论