首页 > 代码库 > 计算器(java)
计算器(java)
最近学习了一下java语言,用它写了个小计算器。当然,功能还很简单,感兴趣的朋友可以自己看看,或者交流。程序
有三部分组成:
首先主程序calculate.java传入字符串(如“2+8*6-5=”),代码如下:
import calculatelib.expression; import calculatelib.calculator; public class calculate { public static void main(String[] args) { expression exp=new expression(args[0]); calculator compute=new calculator(); int i=0; while(exp.data[i]!=null) { compute.data[i]=Integer.parseInt(exp.data[i]); i++; } i=1; while(exp.calcus[i]!='=') { compute.opt[i]=exp.calcus[i]; i++; } compute.setbounds(exp.getdatalength(),exp.getcalcuslength()); System.out.println("the answer of your expression:"); System.out.print(args[0]); System.out.println(compute.calculate()); } }
然后由通过对象调用expression中的方法完成最字符串的编辑:
package calculatelib; public class expression { public String data[]=new String[50]; public char calcus[]=new char[50]; int i=0,r=0,tmp=0; int cr=1,estop=0; public expression(String args) { String s=args; int sstop=s.length(); char ch[]=s.toCharArray(); int cstop=ch.length; while(i<sstop) { if(Character.isDigit(s.charAt(i))) { i++; continue; } data[r]=s.substring(tmp,i); i++; tmp=i; r++; } i=0; while(i<cstop) { if(!Character.isDigit(ch[i])) { calcus[cr]=ch[i]; if(calcus[cr]=='-') { data[cr]='-'+data[cr]; calcus[cr]='+'; } cr++; } i++; } } public int getdatalength() {return r;} public int getcalcuslength() {return cr-2;} }
形成操作数数组data[]和操作符数组calcus[]。然后由calculater类中的方法计算数组,并返回结果。源码如下:
package calculatelib; public class calculator { public float[] data=http://www.mamicode.com/new float[50];>
有兴趣的朋友可以参考一下。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。