亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java Scanner 的 nextLine() 方法未找到任何行

Java Scanner 的 nextLine() 方法未找到任何行

慕桂英4014372 2023-09-06 15:04:25
我在這個簡單的問題上浪費了幾個小時,但我無法弄清楚為什么 nextLine() 找不到下一行。請幫助我,謝謝!我嘗試了這個代碼:https://www.geeksforgeeks.org/scanner-nextline-method-in-java-with-examples/作為實驗,自然它有效,但我自己的不會。變量“test”是從文件中復制的。代碼部分:可觀察列表數據;@Overridepublic void initialize(URL url, ResourceBundle rb) {    int lines = 0;    try {    File f = new File("C:\\Users\\EDU_BYQN_0965\\Documents\\NetBeansProjects\\JSZ_SB\\src\\jsz_sb\\fokonyvi_kivonat.txt");    String test = "113,Vagyoni érték? jogok,3600,0,\n" +            "1173,Vagyoni érték? jogok értékhelyesbítése,360,0,\n" +            "1193,Vagyoni érték? jogok értékcs?kkenése,0,2400,\n" +            "5,t,5,5,";    Scanner s = new Scanner(f);    while (s.hasNext() && s.nextLine() != null) lines++;    String[][] array = new String[lines][4];    String[] temporary = new String[4];    for (int i = 0; i < lines; i++) {        temporary = s.nextLine().split(",");        for (int j = 0; j < 4; j++) {            array[i][j]=temporary[j];            adatok = FXCollections.observableArrayList(                    new TrialBalance(array[i][0], array[i][1], Integer.parseInt(array[i][2]), Integer.parseInt(array[i][3])));                       }                }            } catch (FileNotFoundException ex) {        Logger.getLogger(FXML_scene2Controller.class.getName()).log(Level.SEVERE, null, ex);    }數組“臨時”應包含文件的第一行,至少在第一個循環中,并且不應出現運行時錯誤。
查看完整描述

1 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

Scanner在這一行中耗盡了:

while (s.hasNext() && s.nextLine() != null) lines++;

它停止了,因為沒有更多的線路了。(請注意,檢查hasNext()與對 的調用配對next(),并hasNextLine()與 配對nextLine())。

因此,如果您嘗試從 中讀取更多行Scanner,則沒有更多內容可讀取。

Scanner您要么需要創建;的新實例 或者使用不需要知道先驗大小的數據結構,例如 a (或根據需要調整數組大?。坏钱斖该鞯貫槟鷪绦写瞬僮?code>List時,“手動”執行此操作沒有什么意義)。ArrayList


查看完整回答
反對 回復 2023-09-06
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號