精華區beta Programming 關於我們 聯絡資訊
為何最後沒用到HasBeenMistake().... 因為原本是想要證明以下那句話的矛盾: ※ 引述《andygogo@kkcity.com.tw ()》之銘言: : 我是聰明人,學壞過,但現在賺錢養自已非常夠用,壞路不可走 ^^^^^^ ^^^^^^ ^^^^^^^^^^ 我本來想說: 1.聰明人不會說自己聰明, 因為學而後之不足, 知道越多才明白自己知道越少. 2.聰明人不會輕易犯錯, 不應該學壞. 3.聰明人不會明知不可為而為之. 他三個都犯了, 故根據其招供推論他是笨蛋一個. 本來想在Code中表達他這樣的邏輯會寫出個DeadLock, 後來懶了覺得麻煩, 而且他又 不可能看得懂, 也體會不出DeadLock, 最後決定直接用白話文輸出結果的方式描述一 下就好....哈 你的Code更饒富趣味, 也更生動, 介意我節錄至我自己的Blog嗎? ※ 引述《SmallBee.bbs@binary.csie.ncu.edu.tw (喵~~~)》之銘言: : ※ 引述《Contactman.bbs@bbs.badcow.com.tw (上B只為剿小白出氣!)》之銘言: : : 你不是想學物件導向的程式嗎? : : 我就寫個範例讓你了解一下. : 這時候就知道寫虛擬碼跟定義變數名稱的重要性了.... : : Class BBSguy : : { : : mnIQ = 100; //For normal human : : mnEQ = 100; //For normal human : : public void Post(Article oQuestion) { : : if (oQuestion.CanBeGoogle()) { : : mnIQ = mnIQ - 10; : : } : : if (oQuestion.IsChallenge()) { : : mnEQ = mnEQ - 10; : : } : : } : : public bool IsSmartGuy() { : : return (mnIQ > 50); : : } : : public bool HasBeenMistake() { : : return !(IsSmartGuy); : : } : : public static Article MakeChallenge() { : : return Article.MakeAngryGarbage(); : : } : : } : : --------------------------------------------------- : : BBSguy andygogo = new BBSguy(); : : Article oQuestion = Google.GetFAQ(); : : while(andygogo.IsSmartGuy()) : : { : : andygogo.Post(oQuestion); : : if (oQuestion.GetResponseCount < 1) : : { : : andygogo.Post(BBSguy.MakeChallenge()); : : } : : } : : System.out.printf(" Is Andygogo a smart boy? " + : : (Andygogo.IsSmartGuy()) ? "Yes!" : "No!"); : : 這就是用物件導向的方式描述你正在做的事情. : : 研究一下程式跑完輸出值是什麼吧....別說我沒有教你. : : (嘿, 沒想到我還真閒~~) : 你HasBeenMistake沒有用到喔.... : 加一點料 : ============== : BBSguy andygogo = new BBSguy(); : StartPost: : Article oQuestion = Google.GetFAQ(); : NewPost: : andygogo.Post(oQuestion) : oQuestion.FirstResponse : while (oQuestion.AtLastResponse) { : switch oQuestion.ResponseType : case CENSURE: : andygogo.AddCensureList(oQuestion.ResponseBBSguy); : case RTFM: : andygogo.Post(BBSguy.MakeChallenge()); : break; : case GUIDANCE: : andygogo.Post(BBSguy.MakeIgnore()) : } : oQuestion.NextResponse : } : if(andygogo.IsSmartGuy()) goto StartPost; : if(andygogo.CensureList > 0) { : oQuestion = andygogo.MakeCensure() : goto NewPost; : } : =========== : 太久沒寫C了,switch跟goto的用法不太確定... : 這樣寫class得新增幾個東西才行 -- ╭──── Origin:<不良牛牧場> bbs.badcow.com.tw (210.200.247.200)─────╮ Welcome to SimFarm BBS -- From : [220.138.36.23] ◣◣◢ ◢◢不良牛免費撥接→電話:40586000→帳號:zoo→密碼:zoo ◣◣─╯