小涛涛的计算器
????? 筆者從學(xué)習(xí)編程之初,就想寫一個(gè)自己的程序(小工具),不管它好用否、有沒有人用,我都想做一個(gè)出來。
????? 話不多說,這是一款簡(jiǎn)易的計(jì)算器,沒有二進(jìn)制、八進(jìn)制這些的運(yùn)算、也沒有角度、科學(xué)計(jì)數(shù)法等內(nèi)容,純粹的 加減乘除 四則運(yùn)算。
能計(jì)算形如 A+B? ;? A+C? ;? A*B? ;? -A+B? 的四則運(yùn)算。
????????
?????? 程序界面如下:
??????
?
?
藍(lán)色 輸入\輸出 區(qū)域我們使用ListBox ,將其命名為 PrintAnswer??????
0-9 的數(shù)字按鈕 ,直接打印在屏幕上Button b = (Button)sender;PrintAnswer.AppendText(b.Text);
?
?????? 筆者大致思路是這么樣子的:
?????? 1.確保 輸入欄里的字符串 是 A+B 這種,也就是 2個(gè)數(shù)字,1個(gè)運(yùn)算符,2個(gè)運(yùn)算符也可以,但必須是 -A+B這種
?????? 2.如果滿足上面的條件1,那么 最后通過截取字符串的方式來獲得 第一個(gè)數(shù)字以及第二個(gè)符號(hào)
?????? 3.運(yùn)算符是當(dāng)前點(diǎn)擊的,我保存了起來
?
????? 我們一 步 一 步來分析上面筆者的問題。
????? 條件1:
????? A:? 如果輸入欄里的第一個(gè)字符 是一個(gè)運(yùn)算符號(hào),那么只能是? “-”,其余所有的我們都不能讓顯示
????? B:如果用戶第一個(gè)字符是數(shù)字,緊接著第二個(gè)字符輸入了一個(gè)運(yùn)算符,那么接下來只能讓她輸入數(shù)字
?????
???? 條件2:
????? 截取字符串這個(gè)比較簡(jiǎn)單,因?yàn)樽詈蟮男问轿覀円呀?jīng)曉得了,我們通過 “+” ; “-” ; “*” ; “/” 直接將字符串分割。
需要注意的就是,如果 -A+b 這種,那么分割完了字符串?dāng)?shù)組的長(zhǎng)度是3 。
?
???? 條件3:
??????? 首先我們定義一個(gè)全局變量 ??? int symbolCount = 0;? 根據(jù)我們之前的約定,操作符最多是這種情況: -A+B ,其余都只有 A+B ,當(dāng)? symbolCount >2的時(shí)候,無論輸入任何運(yùn)算符,都不進(jìn)行運(yùn)算了。
?
???? 臥槽,我自己都快暈了。親們覺得如何?
?
???
??
?
?
???
轉(zhuǎn)載于:https://www.cnblogs.com/legendtao/p/4894281.html
總結(jié)
- 上一篇: MySql 插入数据中文乱码
- 下一篇: Disassembly3:variabl