※ 引述《star574 (這就是人生!!)》之銘言:
: ※ 引述《qrtt1 (隱者)》之銘言:
: 不好意思!!人非聖賢孰能無過!!!!
: 謝謝各位~我現在已經知道我的程式是哪裡錯了
: 虛心的請教~換來他人的不齒....
: 真是抱歉了!!!!!!!!!!!!!!
底下有些話可能說的有些重,因為我是一向看人態度說話,
但是能把這些事情聽進去,對你以後在這條路上走,應該會有幫助。
不想看人說教的話,這邊直接按←離開吧,不勉強。
--
雖然不少的教授都不會教Error Message的判讀,
(cannot resolve symbol ; ";" expected ; ...etc)
但是基本的判斷是該會的,
至少,該把Exception Message讀過一遍。
有些人連看都不看,就丟出來說,"幫我看看這程式哪跑不出來"。
通常看到不懂的Exception Message都是直接丟GOOGLE,
到目前為止碰過的Exception在google上都有合理的解釋。
這些錯誤是每個程式設計師都有可能會犯的錯,
像很多人寫程式也常打錯大小寫拼錯字,只是透過的訊息都會告訴你。
如果以前沒注意到這些訊息,就請你現在好好注意一下。
就拿你的程式碼當例子好了,剛好也是很典型的問題跟反應。
===========================================================================
像你的程式碼 丟到complier就會跟你講。
Max.java:10: ';' expected
}
^
1 error
會指"}"不是說是"}"錯,而是告訴你,在讀到"}"之前應該要先讀到";"。
看到";" expected,如果沒想到要檢查程式碼有沒有漏打分號,
那基本觀念有待加強。
===========================================================================
"蛤? 我打了分號 可是從一個錯變成九個錯耶 "
這時候你要分成兩個方向去看,
一個是你本來的一個錯,是不是正確解決了。
另一個是九個錯,到底錯在哪。
就算變成一百個錯,也不能改變它是錯的本質。
像這種忘記打";"的事情,一看就知道是不對的,要改。
跟是不是一個錯變九個錯有何相干? 您說是吧 :)
像今天這九個錯,跟前面的錯是獨立的,
只是因為你打錯了arg的變數名字。
底下有幫你把Exception Message的重點標出來。
==========================================================
max.java:3: cannot find symbol
symbol : variable args
location: class Max
int max=Integer.parseInt(args[0]);
^
max.java:4: cannot find symbol
symbol : variable args
location: class Max
int n = args.length;
^
max.java:5: cannot find symbol
symbol : variable i
location: class Max
for(i=1 ; i<=n-1 ; i++)
^
max.java:5: cannot find symbol
symbol : variable i
location: class Max
for(i=1 ; i<=n-1 ; i++)
^
max.java:5: cannot find symbol
symbol : variable i
location: class Max
for(i=1 ; i<=n-1 ; i++)
^
max.java:7: cannot find symbol
symbol : variable args
location: class Max
if(max<Integer.parseInt(args[i]))
^
max.java:7: cannot find symbol
symbol : variable i
location: class Max
if(max<Integer.parseInt(args[i]))
^
max.java:9: cannot find symbol
symbol : variable args
location: class Max
max=Integer.parseInt(args[i]);
^
max.java:9: cannot find symbol
symbol : variable i
location: class Max
max=Integer.parseInt(args[i]);
^
9 errors
==========================================================
這只是單純變數名字打錯跟宣告打錯的問題,
卻要花人數分鐘到十分鐘的時間去了解你的程式邏輯;
不喜歡用腦袋編譯的人,
要copy你的程式碼到程式去看它的Exception message;
copy完後告訴你該怎麼解決,還可能又出現的一些哩哩
摳摳又不知道哪裡打錯的問題。
我是一直都不介意回覆這種問題啦,但是重點是,
問這些問題,花了別人時間回答,對你自己到底有沒有幫助。
或許你會覺得不回答就算了,
幹麻裝大牌耍脾氣,講的好像新手就是該死一樣。
首先,文人相輕,自古而然。
可能人家在這方面的領域就是比你有經驗,也曾在這問題上痛過,
所以他有資格耍大牌。
就像你去找教授問它這個程式為什麼寫不出來,
有高達90%以上的教授不會很樂意回覆你。 (90% 應該是很保守的數字吧??)
其次,天助自助者,
不想看人臉色最好的方式就是不要給人回覆你的機會,
自己想辦法Google或者check到沒問題。
我當初入門的時候,光helloworld照著書打,包括環境設定,
花了整整三天才跑出一個hello world,那時候還很有野心的
想知道甚麼是public & void & main & String & args & class
後來過了兩個月才真的了解這些是甚麼東西XD
這些問題拿去問人,除非你問到一樣和你有同樣苦痛經驗的人,
不然通常只會得到一個絕對正確,但是幫助不大的答案。
==============================================================
這篇文章說的可能有點重,我也不是甚麼大咖或強者,
只是我喜歡寫Java,我不喜歡debug,但是debug完我會有很大的成就感。
我對於找資料回答別人或自己的問題的熱誠,遠大於自己去問別人問題。
畢竟,能夠自己主動去求知的東西,幹麻被動的等別人來告訴你。:)
當初剛接觸Java版的時候,這些問題可能過個一兩個月都沒人回,
現在版上是比較熱鬧了一點,仔細觀察就會發現其實就是那麼一群人,
像一些基本的入門問題,
可能就比較會有像我這麼雞婆的人會一直愛嗆又愛回。
每次期中考要到了,這類的問題就比較多,那些常駐的回文機器會比較
不耐煩也是正常的,人總有脾氣。
你可能不能理解,因為有些時候會覺得在網路上只是一對一,
但是對於習慣在這裡回文和解決問題的人,很可惜的似乎都一對多。
問題總是比有意願幫忙回文的人多。
以前看過某版的版規,摘錄其中一條的大意給你參考。
"問問題可以,但是答案跟態度只待有緣人。"
另外底下這篇文章可以建議您看看,應該會比較釋懷一些。
http://mis.ndhu.edu.tw/docu/question.htm
我會這麼說是因為,在學校的課程上並沒有學到甚麼,
可是我也是透過自己翻閱我們的教科書(某本原文的書,非聖經本。P)
上面有一些哩哩摳摳的範例碼,透過改範例碼去瞭解內容,
這樣一直不斷的學過來的,老實說我自己是很樂意每天花上幾個小時,
打上幾篇文章,做一些可能的猜測。儘可能的解決其他人的"小"問題,
只能解小問題,因為大問題我也解不起。(笑)
但是除了解題之外,
如果是參考文獻的,我會引用文獻來源,
如果是搜尋引擎得來的資料,我會給關鍵字。
這只是,總是會希望這些使用者,在閱讀完我們po文章後,
除了解決問題,也能學習到"如何解決問題"。
當然引用這些訊息也可以使得文章的正確性能更有保障一點,
因為純粹靠經驗有時候不見得完全正確。:)
這種東西很難靠這樣一句兩句的教啦,總結一句話,"經驗"。
zanyking會這麼說,也是希望使用者能在提問的時候,
先自己好好的處理過問題,只是他的標準比我高。
(其實也差不多是一般的標準。)
我想每個人對"合理問題"的標準都不太一樣吧。
這篇文章我猶豫很久,決定還是讓它流出去,
諸位在這領域上的先輩,也歡迎你們提供你們的意見,
以利小弟能將思想上可能的謬誤做一審慎的思考與反省。:)
GL & HF
TonyQ
--
String temp="relax"; | Life just like programing
while(buringlife) String.forgot(temp); | to be right or wrong
while(sleeping) brain.setMemoryOut(); | need not to say
stack.push(life.running); | the complier will
stack.push(scouting.buck()); | answer your life
stack.push(bowling.pratice()); | Bone everything
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.240.57