#java
Вопрос:
Предполагается, что я должен напечатать количество слов «и» в файле, но я знаю только, как подсчитать количество токенов и строк в файле. Моя программа может печатать только количество токенов в файле…
import java.util.*;//for Scanner
import java.io.*;//for file
public class Hamlet2
{
public static void main (String[] args) throws FileNotFoundException
{
File filename = new File("hamlet.txt");
Scanner read = new Scanner(filename);
int andCount = 0;//to count word "and"
while(read.hasNext())//read words
{
String token = read.Next();
andCount ;
}
System.out.println("Total number of "and" words: " andCount);
}
}
Комментарии:
1. Прочитайте строку и проверьте, содержит ли строка » и »
2. Этот код не должен компилироваться, так
Scanner
как метод , который вы хотите использоватьnext()
, неNext()
является . Кроме того, вам нужно добавить некоторую логику, которая сравнивает чтениеtoken
с ожидаемой строкой и только затем увеличивает счетчик.
Ответ №1:
А как насчет этого?
public static int countWord(File fileName, String word) throws FileNotFoundException
{
int count = 0;
fileName = file.trim();
Scanner scanner = new Scanner(fileName);
while (scanner.hasNext()) {
String nextWord = scanner.next().trim();
if (nextWord.equals(word)) {
count;
}
}
return count;
}
Комментарии:
1. Ах, извините, но я еще не научился . Спасибо вам за ваше предложение!
2. Метод обрезки просто удалял пробелы в данной строке