Я хочу взять текстовый файл (заданный args [0]) и по строке, проверить слова, заданные всеми аргументами после args [0], и распечатать каждая строка со звездочкой, если она содержит указанные слова.Java: печать строки один раз, если она содержит определенные слова
Я уверен, что код, который у меня есть на данный момент, достаточно хорош, чтобы проверить одно слово, но я не уверен, как проверить, содержит ли строка несколько слов (заданных аргументами) и только для печати линия один раз, если это произойдет.
Я предположил, что цикл for может работать, за исключением того, что он будет печатать строку несколько раз, если бы она содержала несколько слов.
import java.util.*;
import java.io.*;
public class WordFinder
{
public static void main(String args[])
{
File file = new File(args[0]);
Scanner in = null;
try
{
in = new Scanner(file);
while(in.hasNext())
{
String line = in.nextLine();
if (line.contains(args[1]))
{
System.out.println("* " + line);
}
else
{
System.out.println(" " + line);
}
}
}
catch (FileNotFoundException e)
{
System.out.println("Cannot find " + args[0])
return;
}
}
}
Мой учитель по программированию в основном дал нам этот тип заданий :) –