高一的时候开始接触Java ME的编程,便产生了写一个计算器的想法,主要是因为自己对计算器的兴趣、热情和了解,同时在当时的Java ME平台上没有好用的计算器。当时每周回家只有几个小时的电脑时间,甚至有时只能用手机写代码,在学校的时候经常拿出本子手写代码,作为一种放松方式。这是一个缓慢艰难但有趣的过程,并且我也享受其中。于是断断续续地,终于写出一个雏形来了,支持常见的函数和数值微积分,简单的编程(do,while,自定义函数和变量),有3000~4000行,然后写了一个简单的界面,随便弄了一个图标和启动画面,加上名字“星尘计算器”,看起来就像模像样了。等到高三的时候,也就没怎么捣鼓了。
后来,在大一第一学期期中考,我感觉安卓的计算器也没有哪个比较好用,要么不够强大,要么没有自然书写,要么输入很麻烦,于是产生了继续写星尘计算器的想法。Java 的代码很容易被移植到安卓,但是没有自然书写,功能也不够强大,因此在以后的课余时间里,又断断续续地继续写了。有时连续一周下课后都在 写,有时好几周都没写,这其中还写了另一个小软件,但我还是希望能尽快写完星尘计算器,至少在大一暑假要将它完成并发布。
一个人做项目经理,做美工,做程序员,做算法工程师,这感觉真是酸爽。有时为了弄一个图标都要一个下午(然而我并不会PS T.T),有时为了寻找一种高效的数值算法要看好几遍英文论文,有时为了解决安卓的莫名其妙的错误要查找很多资料甚至翻看安卓的源代码,有时因为依赖包等等问题都要弄配置弄好久,有时为了键盘的按键安排反反复复地修改和测试,而直到现在也没有弄出一个像样的Logo和启动画面来。。。
在这里当个记录和激励吧~ 先把贴吧的开发日志搬运过来,贴吧的帖子也就不再更新了。
2013~2014
★基本运算以及部分常见函数,包括:
◎基本运算 + - * / ^ abs
◎逻辑运算== != >= <= > < & | ~
◎三角函数 sin cos tan arcsin arccos arctan cot arccot deg rad pi
◎双曲函数 sinh cosh tanh arsinh arcosh artanh cosh arcosh
◎简单编程 do while if args argnum = 自定义函数(允许重载和迭代)
◎对数指数 exp ln lg log sqrt cbrt e
◎其他常见函数 int(积分) diff (微分)sum prod solve(解方程) gcd lcm max min ranInt rand ceil floor ! mod !! %
◎高精度运算(仅支持 四则运算)
? ~ 2015.11.8
★自然书写显示 Natural View
◎线性文本、括号、分数线、根号(代表基本自然书写类型)及其组合的自然书写显示。
★eigenmath C语言开源库移植
2015.11.10
★将自己实现的BigDecimal和BigInteger更换为java自带的
2015.11.11
★添加 上述常见函数的高精度计算支持
★优化 错误捕捉与处理机制 避免使用try...catch降低效率
2015.11.13
★修复 分数线显示BUG
★优化 自然书写分析逻辑
★添加 数学帝国工具计算模块
2015.11.14
★添加 一个简陋的键盘输入界面 为测试所用
2015.11.18
★添加 高斯数值定积分函数
2015.11.22
★添加 幂的自然书写显示
★添加 自然书写显示中的框和光标
2015.11.23
★添加 键盘上的积分和求和等按键
★优化 部分运算符号的显示(例如乘号×和除号÷)
2015.11.24
★添加 点击屏幕可以跳转到光标处
★优化 光标显示 (由字符“|”改为drawLine)
★添加当显示宽度高度超出时显示“▲▼▶◀”的提示
2015.11.25
★修复 若干BUG
★添加 类似卡西欧计算器的自然书写显示删除和插入的自动判断(例如当根号内没有内容时自动生成框)
★添加 定积分的自然书写显示
2015.11.28
★修复 若干BUG
★优化 自然书写显示的函数的括号换成方括号(例如sqrt( )改成sqrt[ ]) 以防止输入括号过程的错误显示
★优化 幂函数的自然书写表示(由[ ]^[ ] 改成 ^[ ] )
2015.12.6
★添加 导数的自然书写显示
★优化 eigenmath的浮点计算精度修改为16位
★优化 部分代码和逻辑
★添加 键盘按下时按键变色
2015.12.8
★添加 n次方根的自然书写显示
★优化 部分代码和逻辑
★添加 算式显示部分的滑动条
2015.12.9~2015.3.3
由于期末考试和一些其他事情,中断开发
本来想寒假再继续,然而寒假前的计划从来都没有实施过/(ㄒoㄒ)/~~
2016.3.4
★重构 自然书写模块
★补充 一些注释。
★修复 目前发现的大多数自然书写显示BUG
★优化 西格玛(求和符号)和括号的显示
★添加 求积符号的自然书写显示。
★添加 括号输入时的自动配对
并将暂停自然书写显示的开发
2016.4.13
★添加 超丑的双键盘
★添加 历史记录
★添加 水平和垂直滑动
2016.4.14
★优化 键盘图标(存在部分字母看不到的BUG)
★优化 字体
★修复 智能删除、插入的所有已知BUG,输入的"人性化"可达到卡西欧ClassWiz计算器差不多