日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

計算器制作JAVA版(第一步,垃圾字符過濾)

系統 1991 0

長話短說,直接進入正題。
首先是對于用戶輸入的字符進行過濾,濾掉那些我們目前認為非法的字符。目前我的程式提供+、-、*、/、^、(、)以及數字(包括小數),所以我們就把那些不要的去掉。大家不要害怕啊,到后面大家會發現,我們思路的漏洞導致了對于小數、^乘方的解決方案。
怎么過濾呢,我用了一個比較垃圾且猥瑣的方法--沒用的就刪掉,個人認為唯一的優點就是簡單、且不顧用戶生死感受。
那么該怎么去實現呢?
就是對輸入的字符串s進行掃描,如果不是合法字符就刪掉。那么我們如何存儲合法字符呢?很簡單就是用一個數組。

n: = length[expression]
for ?i: = n?downto? 1 ? do
??????????
if ??expression[i]?is?the??illegal?character????then
??????????????????????????delete?the?character?i
- th?in?the?expression
return ?expression


以上我是采用類PASCAL的偽代碼編寫的,大家可以根據自己使用的語言進行改造。
大家要注意一點就是為什么我們是從后面往前面去刪除那些非法字符呢?這個留給大家自己思考,我提供幾個測試樣例:

1 +t2* 4
?????t?is?the??illegal?character
1 +ttt2* 4
?????the?three?t?is?the??illegal?characters

the?result?is?
1 + 2 * 4

大家可以自己測試一下這些數據,對于前面那個應該是沒有什么問題的,至于后面那個如果處理不當可能會出現沒有過濾完全的問題。
如果順序不當可能會導致錯誤甚至是拋出異常。
最后提醒大家注意:邊界問題!!!

關于如何制作合法字符表:
就是建立一個數組,初始化數據,使用時就是遍歷一遍這個表就好了。
'0','1','2','3','4','5','6','7','8','9','.','^','*','/','+','-','(',')'

計算器制作JAVA版(第一步,垃圾字符過濾)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 青田县| 浙江省| 沙洋县| 吉木萨尔县| 望都县| 阿坝县| 临桂县| 锡林浩特市| 玛纳斯县| 邹城市| 搜索| 延庆县| 西昌市| 郁南县| 金昌市| 两当县| 亳州市| 梁平县| 天峻县| 广汉市| 陆良县| 苍南县| 长顺县| 镇沅| 潼南县| 桐梓县| 兴和县| 天长市| 平远县| 长寿区| 登封市| 怀宁县| 镇巴县| 五家渠市| 紫阳县| 长乐市| 乌兰察布市| 枣强县| 开远市| 东平县| 哈密市|