為何最後沒用到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》 ◣◣◢ ─╯