Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 1
Регистрация: 11.05.2016
Сообщений: 31

Подсчитать количество уникальных слов

16.05.2016, 23:03. Показов 5329. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подсчитать количество уникальных слов во всех java файлах в папке.

Помогите пожалуйста разобраться, и решить проблему, ошибка в StringTokenize

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
39
40
41
42
43
44
45
46
47
48
49
50
package com.str;
import java.io.*;
 
public class FnF implements FilenameFilter {
    String str;
    FnF (String str){
        this.str = str;
    }
    @Override
    public boolean accept(File dir, String name) {
        String f = new File(name).getName();
        return f.indexOf(str) != -1;
    }
}
 
package com.word;
import java.io.*;
import java.util.*;
 
public class Unique {
    public static void main (String[] args) {
        BufferedReader br = null;
        HashSet<String> words = new HashSet<>();
        File[] list = new File ("//Users//set").listFiles(new FnF2(".java"));
 
        try {
            for (int i = 0; i < list.length; i++){
                br = new BufferedReader(new FileReader(list[i]));
                StringTokenizer st = new StringTokenizer(br, " \t\n\r,."); //ошибка 
                while (st.hasMoreTokens()){
                        words.add(br.nextToken());
                    }
                }
 
        } catch (Exception e){
            e.printStackTrace();
        } finally {
            try {
                if (br != null){
                    br.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        System.out.println(words.size());
        for (File W : list) {
            System.out.println(W);
        }
    }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.05.2016, 23:03
Ответы с готовыми решениями:

Подсчитать количество строк файла, в которых количество слов – четное
import java.io.FileReader; import java.io.BufferedReader; import java.io.PrintWriter; import java.io.IOException; public class...

Подсчитать количество введенных слов
Строка, введенная пользователем, состоит из слов, разделенных запятой. Подсчитать и вывести на экран количество введенных слов. ...

Подсчитать количество слов в файле
Подскажите, пожалуйста, написала программу, которая считывает текст из файла, а нужно чтобы еще и считалось количество слов. Полагаю, что...

6
 Аватар для HOBATOP
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
16.05.2016, 23:26
PolkovnikJ,
Java
1
StringTokenizer st = new StringTokenizer(br.readLine(), " \t\n\r,."); //ошибка
Добавлено через 3 минуты
и вроде здесь ещё:
Java
1
2
                while (st.hasMoreTokens()){
                        words.add(st.nextToken());
1
0 / 0 / 1
Регистрация: 11.05.2016
Сообщений: 31
16.05.2016, 23:41  [ТС]
верно, а в чём заключается моя ошибка? как её исправить, или лучше использовать StreamTokenizer
0
 Аватар для HOBATOP
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
16.05.2016, 23:46
PolkovnikJ,
Цитата Сообщение от PolkovnikJ Посмотреть сообщение
а в чём заключается моя ошибка
- вот об этом я ни чего не знаю, мы вроде как про код говорили. Шутка. Я не компилировал данный код. Попробуйте подправить эти места, станет программа работать, или кинет исключение.
1
0 / 0 / 1
Регистрация: 11.05.2016
Сообщений: 31
17.05.2016, 20:05  [ТС]
Error15, 22) java: no suitable constructor found for StringTokenizer(java.io.BufferedReader,j ava.lang.String)
constructor java.util.StringTokenizer.StringTokenize r(java.lang.String) is not applicable
(actual and formal argument lists differ in length)
constructor java.util.StringTokenizer.StringTokenize r(java.lang.String,java.lang.String) is not applicable
(actual argument java.io.BufferedReader cannot be converted to java.lang.String by method invocation conversion)
constructor java.util.StringTokenizer.StringTokenize r(java.lang.String,java.lang.String,bool ean) is not applicable
(actual and formal argument lists differ in length)

как это исправить?

Добавлено через 1 час 29 минут
как правильно отправить считанную строку в качестве параметра для StringTokenazer?
0
2 / 2 / 1
Регистрация: 03.10.2014
Сообщений: 12
17.05.2016, 20:19
Лучший ответ Сообщение было отмечено PolkovnikJ как решение

Решение

Цитата Сообщение от PolkovnikJ Посмотреть сообщение
no suitable constructor found for StringTokenizer(java.io.BufferedReader,j ava.lang.String)
В таких случаях идешь в документацию Oracle и смотришь перечень конструкторов. Смотри: в каждом из них объект String в качестве первого параметра. Ты изначально же указываешь там BufferedReader. Конструктора, принимающего объект такого класса, нету.

Нужно инициализировать объект String:

Java
1
2
3
String line = br.readLine();
 
StringTokenizer st = new StringTokenizer(line, " \t\n\r,.");
2
0 / 0 / 1
Регистрация: 11.05.2016
Сообщений: 31
17.05.2016, 20:47  [ТС]
Спасибо большое, буду внимательно читать документации в таких случаях.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.05.2016, 20:47
Помогаю со студенческими работами здесь

Для файла исходного кода на языке Java подсчитать количество зарезервированных (ключевых) слов
И вот такое последнее задание нужно для файла исходного кода на языке Java подсчитать количество зарезервированных (ключевых) слов. и вот...

Дан текст не более 255 символов. Составить словарь уникальных слов
Здравствуйте! Помогите пожалуйста с заданием. Если можно, то с объяснениями. Спасибо! Дан текст не более 255 символов. Слова...

Java в текстовом файле подсчитать количество слов имеющих вторую букву char 1 и четвертую char2 ( char1 и char
heip

Вывести на печать количество слов, содержащихся в строке, количество букв в каждом слове
Дана строка символовю Вывести на печать количество слов, содержащихся в строке, количество букв в каждом слове. Между словами может быть...

Подсчитать количество уникальных значений в массиве
есть список, в нем надо подсчитать количество повторяющихся значений. То есть например : 4, 5, 4, 1, 3, 2 В результате: 4 - 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru