我有一組特定的代碼,它將從文件(Alice.txt)中讀取文本,然後將每個單詞放入一個數組中並計算總字數和單詞。在Java中嘗試使用hasNext時出現錯誤
我有一些東西的草稿,但阻止我走向我的目標是我得到一個錯誤。首先,代碼:
import java.util.*;
import java.io.*;
public class Oblig3A{
public static void main(String[]args){
OrdAnalyse O = new OrdAnalyse();
OrdAnalyse.analyseMet();
}
}
class OrdAnalyse {
public static void analyseMet() {
Scanner Inn = new Scanner(System.in);
System.out.println("Vennligst oppgi navn til lagringsfilen: ");
String Filen;
Filen = Inn.nextLine();
try {
File skrivFil = new File(Filen);
FileWriter fw= new FileWriter(skrivFil);
BufferedWriter bw = new BufferedWriter(fw);
File lesFil = new File ("Alice.txt");
FileReader fr = new FileReader(lesFil);
BufferedReader br = new BufferedReader(fr);
int teller=0;
int i=0;
while(lesFil.hasNext()){
teller++;
lesFil.next();
}
String[] ordArray = new String[teller];
int[] antall = new int[teller]
do{
ordArray[i]=lesFil.next();
}
while(lesFil.hasNext());
System.out.println(ordArray.length);
}catch (Exception e){
System.out.print(e);
}
}
}
而且我得到這個錯誤:
Oblig3A.java:29: error: cannot find symbol
while(lesFil.hasNext()){
^
symbol: method hasNext()
location: variable lesFil of type File
是否有任何人誰可以給我一個指針,爲什麼這是怎麼回事?我真的不知道。
有什麼想法,爲什麼我現在得到一個NoSuchElementException?我重新編寫代碼,以便它創建一個名爲:Opplysning.txt的文件,而不是使用掃描器並輸入變量Filen,然後進行建議的更改,甚至可以確保在Alice.txt和Opplysning.txt中與程序相同的文件夾。但無濟於事。當我刪除try-catch-loop時,它說它需要在第一個文件作者行上聲明的異常,是不是問題? – Makri
@Makri:您需要了解已檢查的異常情況。 – SLaks
好的,所以我明白它可能是下一個運營商之一呢?我會嘗試看看我能找到什麼。 可能是因爲我有兩個循環讀完整個文件到最後?所以它在第一個循環後讀到最後,當第二個循環開始時,它沒有找到任何元素,拋出異常? – Makri