快速业务通道

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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号