php小編香蕉帶來的java問答,今天我們來探討如何在NetBeans中實現迭代並將Text.txt檔案中的下一行內容列印到輸出控制台。這個問題涉及到文件讀取和迭代的技巧,透過合理的程式碼實現,可以輕鬆完成這項任務。讓我們一起來看看具體的解決方法吧!
我試圖從文字檔案中讀出我的文字註釋,但由於 nosuchelementexception,它似乎無法迭代到下一行程式碼。我該如何解決這個問題?
我先道歉,由於我缺乏寫作禮儀,因為我是這個網站的新手。但儘管如此,這是我的程式碼:
public class Praktikum11_4 { private Scanner input; public void membukaFile() { try { input = new Scanner(new File("favouriteplace.txt")); } catch(FileNotFoundException e) { System.err.print("File yang anda cari" + "Tidak ditemukkan"); System.exit(1); } catch(IllegalStateException e) { System.err.print("Error membaca File"); } } public void membacaData() { try{ while(input.hasNext()) { for (int i = 1 ; i <= 7 ; i++ ) { // Scan the line String location = input.nextLine(); double rating = input.nextDouble(); System.out.printf(i+". " + "%s dengan rating %f\n", location, rating); } } }catch (NoSuchElementException e) { System.err.println("Element not found ERROR 101 "); } } public void menutupFile() { if (input != null) { input.close(); System.out.print("File berhasil untuk ditutup"); } } public static void main(String[] args) { } }
這是我嘗試迭代並列印到輸出控制台的檔案:
由資料組成的文件](https://i.stack.imgur.com/dj2kc.png)
這是我得到的輸出:
找不到元素 error 101 file berhasil untuk ditutup
因此,這是我期望的輸出:
預期輸出](https://i.stack.imgur.com/ntkv4.png)
發生nosuchelementexception 是因為您在for 迴圈內呼叫input.nextdouble () ,而沒有檢查輸入檔中是否有下一個可用的double 值。在嘗試讀取之前,您應該檢查是否存在下一個雙精度值。另外,無論是否發生異常,都應該正確處理異常並關閉檔案。
public void readData() { try { int i = 1; while (input.hasNext()) { String location = input.nextLine(); if (input.hasNextDouble()) { double rating = input.nextDouble(); input.nextLine(); // Consume the newline character after the double System.out.printf("%d. %s with rating %.2f\n", i, location, rating); i++; } else { System.err.println("Invalid rating format for location: " + location); input.nextLine(); // Consume the entire line to move to the next line } } } catch (NoSuchElementException e) { System.err.println("Element not found ERROR 101"); } }
確保在呼叫 readdata() 之前呼叫 openfile() 開啟文件,並在完成後呼叫 closefile() 關閉文件。另外,不要忘記新增 main 方法來執行程式。
以上是如何迭代並將 Text.txt 中的下一行列印到 NetBeans 中的輸出控制台?的詳細內容。更多資訊請關注PHP中文網其他相關文章!