小涛涛的计算器
2015-10-20 15:02
176 查看
笔者从学习编程之初,就想写一个自己的程序(小工具),不管它好用否、有没有人用,我都想做一个出来。
话不多说,这是一款简易的计算器,没有二进制、八进制这些的运算、也没有角度、科学计数法等内容,纯粹的 加减乘除 四则运算。
能计算形如 A+B ; A+C ; A*B ; -A+B 的四则运算。
程序界面如下:
笔者大致思路是这么样子的:
1.确保 输入栏里的字符串 是 A+B 这种,也就是 2个数字,1个运算符,2个运算符也可以,但必须是 -A+B这种
2.如果满足上面的条件1,那么 最后通过截取字符串的方式来获得 第一个数字以及第二个符号
3.运算符是当前点击的,我保存了起来
我们一 步 一 步来分析上面笔者的问题。
条件1:
A: 如果输入栏里的第一个字符 是一个运算符号,那么只能是 “-”,其余所有的我们都不能让显示
B:如果用户第一个字符是数字,紧接着第二个字符输入了一个运算符,那么接下来只能让她输入数字
条件2:
截取字符串这个比较简单,因为最后的形式我们已经晓得了,我们通过 “+” ; “-” ; “*” ; “/” 直接将字符串分割。
需要注意的就是,如果 -A+b 这种,那么分割完了字符串数组的长度是3 。
条件3:
首先我们定义一个全局变量 int symbolCount = 0; 根据我们之前的约定,操作符最多是这种情况: -A+B ,其余都只有 A+B ,当 symbolCount >2的时候,无论输入任何运算符,都不进行运算了。
卧槽,我自己都快晕了。亲们觉得如何?
话不多说,这是一款简易的计算器,没有二进制、八进制这些的运算、也没有角度、科学计数法等内容,纯粹的 加减乘除 四则运算。
能计算形如 A+B ; A+C ; A*B ; -A+B 的四则运算。
程序界面如下:
蓝色 输入\输出 区域我们使用ListBox ,将其命名为 PrintAnswer
0-9 的数字按钮 ,直接打印在屏幕上 Button b = (Button)sender; PrintAnswer.AppendText(b.Text);
笔者大致思路是这么样子的:
1.确保 输入栏里的字符串 是 A+B 这种,也就是 2个数字,1个运算符,2个运算符也可以,但必须是 -A+B这种
2.如果满足上面的条件1,那么 最后通过截取字符串的方式来获得 第一个数字以及第二个符号
3.运算符是当前点击的,我保存了起来
我们一 步 一 步来分析上面笔者的问题。
条件1:
A: 如果输入栏里的第一个字符 是一个运算符号,那么只能是 “-”,其余所有的我们都不能让显示
B:如果用户第一个字符是数字,紧接着第二个字符输入了一个运算符,那么接下来只能让她输入数字
条件2:
截取字符串这个比较简单,因为最后的形式我们已经晓得了,我们通过 “+” ; “-” ; “*” ; “/” 直接将字符串分割。
需要注意的就是,如果 -A+b 这种,那么分割完了字符串数组的长度是3 。
条件3:
首先我们定义一个全局变量 int symbolCount = 0; 根据我们之前的约定,操作符最多是这种情况: -A+B ,其余都只有 A+B ,当 symbolCount >2的时候,无论输入任何运算符,都不进行运算了。
卧槽,我自己都快晕了。亲们觉得如何?
相关文章推荐
- 替代mmm方案的mariadb galera cluster和percona xtradb cluster的简介
- Cocos2d提供的字体!共57种(有对照的字体图)
- 如何解决android模拟器慢的问题
- Android基础:shape的基本用法
- Linux服务器技术收集
- 用矩阵旋转相机
- Android应用(测试/正式)服务器端接口切换方法
- myeclips自动格式化
- mysql临时表
- Ignatius and the Princess III(母函数)
- java list三种遍历方法性能比较
- 如何打造真正可动态扩展的服务架构
- Oracle 外部表说明及简单范例
- hibernate4.0+springMVC+shoir时报错javax.persistence.OneToMany.orphanRemoval()Z
- C++的private的属性或方法真的不能访问吗? no
- 本期介绍SBJson的用法,收集。
- spring mvc i18n设置
- 程序员累了怎么办-兄弟连IT教育
- 旅行售货员问题
- 线性表的链式表示和实现