Re: [語法] BufferedWriter 書上的錯誤

看板java作者 (有些事,有時候。。。)時間5年前 (2019/06/18 19:25), 4年前編輯推噓1(107)
留言8則, 4人參與, 4年前最新討論串2/2 (看更多)
※ 引述《akk98 (akk)》之銘言: : import java.io.BufferedWriter; : import java.io.IOException; : public class FileWriter { : public static void main(String[] args) { : try { : String fpath = "D:/abc/test.txt"; : BufferedWriter fout = new BufferedWriter(new FileWriter(fpath)); : fout.write("花花世界看看世界"); : fout.newLine(); : fout.close(); : System.out.println("寫檔完成"); : }catch (IOException e) { : e.printStackTrace(); : } : } : } : BufferedWriter fout = new BufferedWriter(new FileWriter(fpath)) : 這行出錯誤了 是版本問題嗎? 還是少了甚麼??? 先簡單地,複製你的 code 來 compile ================================================================= qty:Downloads qrtt1$ javac FileWriter.java FileWriter.java:10: error: constructor FileWriter in class FileWriter cannot be applied to given types; BufferedWriter fout = new BufferedWriter(new FileWriter(fpath)); ^ required: no arguments found: String reason: actual and formal argument lists differ in length 1 error qty:Downloads qrtt1$ 它說,你寫的 FileWriter 的建構子,不能塞你指定的 type [----] 實際上需求無引數,由於你的 FileWriter 並沒有寫一個建構子, 依規格,它自動提供一個無引數建構子。在處理真正的問題前, 弄懂目前的 error message 其實挺有意義的啊。 ====================================================================== 你得知道 1. error message 的描述是什麼 2. 為什麼它要求建構子不能傳參數進去 3. 建構子的定義是什麼 4. 什麼時機會自動產生無引數建構子 5. 怎麼加個建構子,讓它接受引數 (雖然跟實際問題無關..) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.150.129 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1560857132.A.EF0.html

06/19 19:26, 5年前 , 1F
我猜他單純改了不該改的名字而已。他並不是想create
06/19 19:26, 1F

06/19 19:26, 5年前 , 2F
他的FileWriter instance 而是想用java.io 那個
06/19 19:26, 2F
希望謎底有揭曉的一天xd ※ 編輯: qrtt1 (36.231.150.129 臺灣), 06/19/2019 20:14:41

06/22 10:38, 4年前 , 3F
我在他那篇推文回他了,就是FileWriter的建構子不能直接
06/22 10:38, 3F

06/22 10:38, 4年前 , 4F
放字串,要放File物件
06/22 10:38, 4F

06/22 12:57, 4年前 , 5F
樓上先去仔細看一下java doc吧, 原po的問題根本不是這
06/22 12:57, 5F

06/22 12:57, 4年前 , 6F
06/22 12:57, 6F

06/22 16:06, 4年前 , 7F
不好意思 我不知道哪個是正確的 因為現在就是還沒跑
06/22 16:06, 7F

06/22 16:06, 4年前 , 8F
就編譯錯誤了 我在猜想是不是版本問題
06/22 16:06, 8F
那表示你沒看懂書,要不先把書的內容拍來,大家看看。 你也順便說說你的理解才好繼續,雖然答案很簡單,但思考的過程才是對你有價值的 ※ 編輯: qrtt1 (36.231.150.5 臺灣), 06/22/2019 22:27:08
文章代碼(AID): #1T2Ceixm (java)
文章代碼(AID): #1T2Ceixm (java)