所以我一直试图让它工作一段时间。让我先说我不是程序员。这更像是我最近开始的一种爱好。我一直在尝试让 2 个文本文件逐行搜索。即一个有一堆单词(大约 10 个,每行一个),另一个有更多(接近 500 个)也每行一个。我想让我的程序说出较小文本文件中的每个单词出现在较大文本文件中的次数。到目前为止我所拥有的是:
import java.util.Scanner;
import java.io.File;
import java.util.regex.Pattern;
public class StringSearch
{
public static void main (String args[]) throws java.io.IOException
{
int tot = 0;
Scanner scan = null;
Scanner scan2 = null;
String str = null;
String str2 = null;
File file = new File("C:\\sample2.txt");
File file2 = new File("C:\\sample3.txt");
scan = new Scanner(file);
scan2 = new Scanner(file2);
while (scan.hasNextLine())
{
str = scan.nextLine();
tot = 0;
while (scan2.hasNextLine())
{
str2 = scan2.nextLine();
if(str.equals(str2))
{
tot++;
}
}
System.out.println("The String = " + str + " and it occurred " + tot + " times");
}
}
}
不知道为什么这不起作用。它会很好地读取第一个文本文件中的第一个单词并计算它在第二个文件中出现的次数,但随后它会停止并且不会在第一个文件中的第二个单词上移动。我希望这是有道理的。我认为第二个 while 循环有问题,但我不知道是什么。
因此,任何帮助将不胜感激。我希望能够让它发挥作用,并在未来继续进行更复杂的项目。总得从某个地方开始吧?
干杯伙计们