Когда я запускаю программу, я хотел бы ввести слово в текстовом файле и распечатать, сколько раз слово хранится в текст. Для примера:Как найти и распечатать повторяющиеся слова в текстовом файле с пользовательского ввода java
Введите слово из текста: Эрика
Слово Эрик хранится 5 раз в текстовом файле.
Мой код ниже уже читает текстовый файл, но я застрял в методе wordCount. Я не знаю, с чего начать.
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
public class WordSet {
private static Scanner file;
private static ArrayList<String> words = new ArrayList<String>();
//private static Map<String, Integer> occurences = new HashMap<String, Integer>();
//private static Set<String> uniqueWords = new HashSet<String>(words);
//private static int tWords = 0;
//private static int uWords = 0;
//private static String [] word1 = new String[10];
//private static String [] word2 = new String[10];
public static void openFile() throws IOException {
try {
file = new Scanner(new File("words.txt"));
} catch (FileNotFoundException e) {
System.out.println("File Not Found");
e.printStackTrace();
} catch (Exception e) {
System.out.println("IOException");
}
}
public static String wordCount() throws IOException {
Random r = new Random();
while(file.hasNext()) {
words.add(file.next());
}
String wordCount = words.get(r.nextInt(words.size()));
return wordCount;
}
public static void main(String[] args) throws IOException {
System.out.println("Enter a word from the text: ");
openFile();
Scanner scan = new Scanner(System.in);
String pickWord = wordCount();
while(scan.hasNext()) {
String input = scan.nextLine();
if(input.equals(pickWord)) {
System.out.println(pickWord);
}
}
scan.close();
}
}
У вашего файла есть одно слово в строке? – Shar1er80
да это делает @ Shar1er80 – Alphanum3ric