黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

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

系統 2237 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條評論