看板 java 關於我們 聯絡資訊
※ 引述《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