我做了一个方法来获取数组中最重复的单词。在main方法中,我使用Scanner类来读取我的文件。我的文件是明星闪烁的横幅歌词。然后我扫描文件并将其值分配给字符串。然后我拆分字符串并将其分配到一个数组中。当我实例化mostRepeated方法由于某种原因,我总是得到"文件未找到"?我不明白代码的错误是什么?请帮助,谢谢!
import java.util.Scanner;
import java.io.*;
public class Task2Ref23 {
public static String mostRepeated(String [] a){
int count=1, tempCount=1;
String temp="";
String popular = a[0];
for (int i=0; i<a.length-1; i++){
temp=a[i];
if(temp==a[i+1]) tempCount++;
else if (tempCount > count){
popular=temp;
count= tempCount;
tempCount=1;
}
} if (tempCount > count) popular = temp;
return popular;
}
public static void main(String[] args) {
// Erik Landaverde
String temp= "";
try{
Scanner scan = new Scanner (new File("lyricFile"));
while (scan.hasNext()){
temp= scan.next();
}
String [] myArray=temp.split(" ");
String mostRepeated = mostRepeated(myArray);
System.out.print(mostRepeated + " ");
scan.close();
}
catch (FileNotFoundException e){
System.out.println("File not found.");
}
}
}
答案 0 :(得分:0)
尝试:
Scanner scan = new Scanner (new File("lyricFile.txt"));
&#13;
或者,如果它不是.txt文件,则是正确的扩展名,而不是您拥有的
答案 1 :(得分:0)
&#34;找不到文件&#34; 消息。我注意到你给了代码,如果&#34; lyricFile&#34;文件不存在然后它将抛出FileNotFoundException异常。在catch部分,你添加了打印输出。
Scanner scan = new Scanner (new File("lyricFile"));
代码中的异常处理部分
catch (FileNotFoundException e){
System.out.println("File not found.");
}
因此,如果文件不可用,您可能需要更新以下代码以创建新文件。
File file=new File("lyricFile");
//Check whether file not exist then it will create the file
if(!file.exists()){
file.createNewFile();
}
Scanner scan = new Scanner (file);
请注意,您需要为IOException添加catch部分。