注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

挥洒蓝天白云的孩子

 
 
 

日志

 
 

对于计算器的一点算法思想  

2012-11-17 17:23:23|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
思前想后好久好久,不知是不是可以有能力去做这个计算器,自知自己的能力还不是特别的强大,但是总感觉我的能力足以应付这个小小的程序,它包括的思想不算太多,当然不是没有,我所想解决的问题基本上没有,只是还是欠缺一点逻辑思维的历练,而这些都在促使我去做这个计算器,这能让我有足够的能力与自行去解决那些c++里所遇到的其他问题。
Ok,here we go!首先要解决的是什么呢?我想我解决的已经差不多了,计算器的面板设计方面,我采用安卓计算器的界面,我很喜欢,哈哈,但是对于鼠标控来说这无疑是浪费空间,所以这些以后还有待解决,但是此过程出现了很大的问题:按说Jpanel是不会有任何界面特性的,但是哥设计的软件背景竟然无法显示,并不是被那些大大的按键覆盖了。。。但是就是显示不出来,不知何故。
算法思想:
1.对于整个算法的核心思想应该就是确立一个计算过程控制,而最简单就是让操作界面把所有的操作数据全都写好,最后在action_equal时得出最后总结果。所以最好的就是字符串存储信息量,再通过,递归二分法将所有的数据确定并计算。
2.计算符号优先级确立,这是一个必须先确立好多等级,有两种:等级相同时直接按先后顺序计算;优先级高的先算。
3.二分法:以只含一个运算符的字符为基点,找到基点的运算符,二分出两边的计算数据,将结果发挥到原字符串,在此递归处理。
4.对于特殊运算符,将优先级直接定位最高,math函数处理。



结果:经过几天努力(搞得我都失眠了),大致实现出来,但是显然有bug,优先级处理不够结构化,是的混合运算时出现了溢出错误,但大致功能可以了,架构没时间修改了,暂时就这么办了,源代码也不公开了。
  评论这张
 
阅读(50)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017