看板 Programming 關於我們 聯絡資訊
問題: 有三項獨立的檢查,但是要先開啟該項檢查才會進入 只要其中一項檢查錯誤程式就結束 我自己的寫法 if(Check_A = true) xxxx xxxx if(Check_Result_A = false) msg = "Check_A "; goto Failed; if(Check_B = true) xxxx xxxx if(Check_Result_B = false) msg = "Check_B "; goto Failed; if(Check_C = true) xxxx xxxx if(Check_Result_C = false) msg = "Check_C "; goto Failed; if(msg == "") msg = "Success"; Failed: msg = msg+"Failed"; 目前跑起來沒甚麼問題,但是總覺得是很笨的方法(似乎不是唯一解XD) 希望板上的高手們可以指點拙者在下 如有寫得不清楚的地方請多包涵 m(_ _)m -- Arooba:不好意思~我是不知所謂的囧人~ 謎:實不相瞞~看閣下從頭髮到腳指甲沒一處不入囧人的型格 Arooba:那又如何? 謎:也就是閣下注定囧一輩子~ Arooba:( ̄皿 ̄)我不想理你~我要睡覺了~ 謎:.......醒醒吧!阿囧! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.111.65
andrew43:可以用 if... else... 會更好些. 122.117.35.207 11/08 20:53
andrew43:能用 switch 也會好一些. 122.117.35.207 11/08 20:54
andrew43:你每個check都用二個if, 是真的浪費了. 122.117.35.207 11/08 20:54
因為有可能執行兩個check(ex:A & C)那麼if else只能跑一個 (以下是我解釋您的if else) if(checkA) elseif(checkB) else check C 這樣的話只能執行一項檢查(當然也可以在if內在加if) switch也是同樣的道理,如有解釋錯請指正在下 使用第二個if主要是檢查錯誤用來跳過中間的程式碼 我解釋不周或是不清楚的地方請多包涵 ※ 編輯: AROOBA 來自: 220.228.246.224 (11/08 21:03)
tomap41017:包成class並且存進去container?140.112.244.171 11/08 21:24
hirabbitt:為什麼可能執行兩個check(ex:A & C)220.136.176.217 11/09 07:23
hirabbitt:這代表b錯誤 不是應該程式結束嗎?220.136.176.217 11/09 07:23
hirabbitt:喔我看錯了XD220.136.176.217 11/09 07:23
andrew43:一次要檢查2個以上的check就另當別論了.140.128.117.116 11/09 23:35
abccbaandy:助教表示:用goto零分 219.71.37.89 11/10 00:27
abccbaandy:問題敘述不夠清楚,那三段程式碼都一樣 219.71.37.89 11/10 00:28
abccbaandy:嗎? 不然應該沒什麼能改的了... 219.71.37.89 11/10 00:28
yauhh:怎樣寫是比較好,這要看語言特質,還有你的程 211.21.94.199 11/10 11:37
yauhh:式內容. 目前這樣寫也不錯,沒有很笨. 211.21.94.199 11/10 11:37
loveme00835:使用多型減少邏輯判斷, 自然可以避免140.121.197.115 11/11 02:42
loveme00835:用到 goto http://ppt.cc/Dovv140.121.197.115 11/11 02:42