我正在尝试创建这个自我项目并陷入困境。我正在尝试获取用户输入,使用该输入的关键字搜索字符串[]。如果找到关键字,则在文件中搜索带有found关键字的句子,并返回包含关键字的整个句子。这应该在for循环中完成吗?
public static void parseFile( Scanner searchStr ) throws FileNotFoundException
{
File file = new File("data.txt");
String [] keywords = {" day","What church"," name","Leman", "Secular", "bugs"};
Scanner scan = new Scanner(file);
while( searchStr.hasNext() )
{
String line = searchStr.nextLine().toLowerCase().toString();
final String lineFromFile = scan.nextLine();
for( String keyword : keywords )
{
if( lineFromFile.contains( keyword ) )
{
System.out.println( keyword );
}
}
scan.close();
//searchStr.close();
}
}
这里是我调用parseFile()但由于某种原因它不搜索文件
parseFile(currentkeyword);
让我们说这个文本文件名为" data.txt" 它有一些元素。 臭虫是一个有趣的家伙 他的名字遍布整个墙壁
任何建议都将不胜感激。
答案 0 :(得分:0)
Scanner scan = new Scanner(file);
while( searchStr.hasNext() )
使用两种不同的扫描仪。看起来searchStr
永远不会被提供文件以便查看,所以这永远不会经历循环。
答案 1 :(得分:0)
您忘记将所有关键字设为小写:
String [] keywords = {" day","what church"," name","leman", "secular", "bugs"};
此外,您使用的是错误的扫描仪。
searchStr = new Scanner(file);