powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Подсчитать количество уникальных слов в файле
5 сообщений из 5, страница 1 из 1
Подсчитать количество уникальных слов в файле
    #38982751
alexander30
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте
Как сделать ,чтобы можно было подсчитать уникальные слова, а не все, как сейчас.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
package com.java.training.eight;
import java.io.*;
// Подсчитать количество уникальных слов в файле 
class four{
    public static void main(String[] args) throws  IOException{
        int wordcount=0;
        FileReader file = new FileReader("D:\\file.txt");
        StreamTokenizer fileTokenizer =new StreamTokenizer(file);
        while ((fileTokenizer.nextToken()) !=StreamTokenizer.TT_EOF){
        if(fileTokenizer.ttype==StreamTokenizer.TT_WORD)
         wordcount++;
        }
        System.out.println("Количество уникальных слов: " +wordcount);
    }
}
...
Рейтинг: 0 / 0
Подсчитать количество уникальных слов в файле
    #38982783
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander30,

а можно ли все эти слова загнать в HashMap или так нельзя? (там же всегда уникальные ... или я ошибаюсь?)

З.Ы. это просто как вариант (я тоже новичок)
...
Рейтинг: 0 / 0
Подсчитать количество уникальных слов в файле
    #38982788
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарзагнать в HashMap или так нельзя?HashSet'а будет достаточно
...
Рейтинг: 0 / 0
Подсчитать количество уникальных слов в файле
    #38983248
alexander30
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я сделал следующим образом

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
package com.java.training.eight;
import java.io.*;
import java.util.HashSet;
// Подсчитать количество уникальных слов во всех java файлах в папке.
class FNFilter implements FilenameFilter{
    String mask;
    FNFilter(String mask){
        this.mask=mask;
    }
    public boolean accept(File dir,String name){
        String f=new File(name).getName();
        return f.indexOf(mask) !=-1;
    }
}
 public class var2 {
     public static void main(String[] args) {
         HashSet<String> words = new HashSet<>();
         BufferedReader file = null;
         File[] list = new File("D:\\com\\java\\training\\eight\\").listFiles(new FNFilter("java"));
         try {
             for (int i = 0; i < list.length; i++) {
                 file = new BufferedReader(new FileReader(list[i]));
                 StreamTokenizer word = new StreamTokenizer(file);
                 while ((word.nextToken()) != StreamTokenizer.TT_EOF) {
                    if(word.ttype==StreamTokenizer.TT_WORD){
                         words.add(word.sval);
                     }
                 }
             }
         } catch (IOException e) {
             System.out.println(e);
         }
         System.out.println(words.size());
         for (String TEXT : words) {
             System.out.println(TEXT);
         }
     }
 }


Возник следующий вопрос .как настроить StreamTokinezer ,чтобы он не обращал внимания на точки и другие знаки .А то такие слова (com.java.training.eight , java.util. и т.д) воспринимаются как одно слово.
...
Рейтинг: 0 / 0
Подсчитать количество уникальных слов в файле
    #38983324
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander30,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public static int countWords(java.io.File file) {
    java.util.Set<String> words = new java.util.HashSet<>();
    try (java.util.Scanner scan = new java.util.Scanner(file)) {
        while (scan.useDelimiter("[^\\w]+").hasNext()) {
            words.add(scan.next());
        }
    } catch (java.io.IOException e) {
        e.printStackTrace(System.out);
    }
    return words.size();
}
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Подсчитать количество уникальных слов в файле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]