看板 java 關於我們 聯絡資訊
我所寫的程式功能為 讀取TXT檔案後,把裡面的個別數值存入設定好的陣列中 但是在執行的時候,顯示第一個數值的前面多了一個數值。 以下是我的程式 import java.io.*; public class c2java { public static void main(String args[]) { float f[] = new float[4]; String s = new String(); try { File file5 = new File("a.txt"); RandomAccessFile randomAccessFile = new RandomAccessFile(file5, "r"); int c = randomAccessFile.read(); randomAccessFile.seek(0); while (c != -1) { s = s + (char) c; c = randomAccessFile.read(); } randomAccessFile.close(); System.out.println("此為讀入之字串:" + s); f = string2float_array(s); System.out.println("轉成浮點數陣列:"); for (int i = 0; i < f.length; i++) { System.out.println(f[i]); } } catch (IOException ie) { System.out.println("no file"); } } public static float[] string2float_array(String s) { float f[] = new float[4]; String[] test = s.split(" "); for (int i = 0; i < test.length; i++) { f[i] = Float.parseFloat(test[i]); } return f; } } TXT檔案內容為:333 -3.2 -3 -6 但是輸出顯示卻變成: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 此為讀入之字串:3333 -3.2 -3 -6 轉成浮點數列陣: 3333.0 -3.2 -3.0 -6.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 語法我看不出哪裡有問題???? 還煩請高手、專家替我解答 還請解釋的簡單一些,我還是個剛上路的新手,謝謝指教!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.20.84 ※ 編輯: abruce042 來自: 140.130.20.84 (10/22 00:13) ※ 編輯: abruce042 來自: 140.130.20.84 (10/22 00:15) ※ 編輯: abruce042 來自: 140.130.20.84 (10/22 00:21)
Earvin:應該是因為call了seek(0) , 只讀取可不用RandomAccessFile 10/22 06:05
PsMonkey:快要觸犯作業文條款了.... 10/22 08:27
kirovmei:一般讀取檔案就好了 為什麼要RandomAccessFile? 10/22 21:45
這個是參考學長的...不過他畢業了無從問起;我這只是測試存入的練習= =應該還不算作 業文吧...如果是的話 我自D;我先再看看書籍好了... ※ 編輯: abruce042 來自: 140.130.20.84 (10/23 10:12)
PsMonkey:版規看不懂可以問,但是不看板規就沒的談了... Orz 10/23 16:06
好的...我會小心的...謝謝提醒 ※ 編輯: abruce042 來自: 140.130.20.84 (10/23 19:30)