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

Частота букв в файле

24.01.2019, 12:15. Показов 7933. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть задачи вот в чем:*есть файл в котором записан некоторый текст на английском языке. Требуется вывести в алфавитном порядке все буквы которые встречаются в файле. Каждую букву выводить только один раз.
То есть, входными данными для программы может быть путь к файлу, конечно же можно прописать путь к файлу жестко, в коде, но это будет не красиво. Программа должна открывать файл в режиме чтения, и по порядку считывать каждый символ и сразу сравнивать, встречалась ли ранее такая буква, если — да, то не выводить текущую букву. Буквы, которые необходимо вывести на экран можно временно сохранять в строку.
Enter file path: file.txt
benort
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2019, 12:15
Ответы с готовыми решениями:

Частота чисел в файле
написать программу, которая считает какие числа и сколько раз встречаются в файле! Например: program {начало программы} var...

Частота повторения букв в тексте
Доброго дня. Помогите пожалуйста разобраться. Простенькая программка по подсчеты количества букв в тексте в процентах на русском языке. До...

Частота появления букв в словах
Дан текст, содержащий слова, разделённые пробелами. Определить, какие буквы в словах совпадают чаще: первые, последние или средние....

22
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
24.01.2019, 13:10
h1per, и что не получилось, на чем руки опустились?
0
0 / 0 / 0
Регистрация: 24.01.2019
Сообщений: 8
24.01.2019, 13:12  [ТС]
на начале
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
24.01.2019, 13:35
h1per, ну вначале надо сесть, подумать как это сделать, на какие части разбить задачу, какие классы применить.
файл текстовый считать удается? читаем, перебираем, закидываем буковки в Сет, потом выводим в отсортированном виде.
0
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
24.01.2019, 13:50
Лучший ответ Сообщение было отмечено h1per как решение

Решение

вот смотри
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
import java.io.*;
import java.util.HashMap;
import java.util.Map;
 
public class Sol {
    public static void main(String[] args) throws IOException {
        Map<String, Integer> map = new HashMap<>();
        BufferedReader br;
        if (args.length > 0) {
            br = new BufferedReader(new FileReader(args[0]));
        }
        else {
            BufferedReader consoleReader = new BufferedReader(new InputStreamReader (System.in));
            String  fileName = consoleReader.readLine();
            br = new BufferedReader(new FileReader(fileName));
            consoleReader.close();
        }
        String line;
        while ((line = br.readLine()) != null) {
            line = line.trim();
            String charI;
            for (int i = 0; i < line.length(); i++) {
                charI = line.substring(i, i + 1).toLowerCase();
                if (charI.matches("[a-z]")) {
                    map.put(charI, map.getOrDefault(charI, 1) + 1);
                }
 
            }
        }
        br.close();
 
        for (Map.Entry<String, Integer> pair : map.entrySet()) {
            System.out.println(pair.getKey() + " : " + pair.getValue());
        }
    }
}
Добавлено через 8 минут
Имя файла либо аргументом приходит, иначе запрашивается ввод. Буквы все к toLowerCase() приведены. Если надо отдельно и заглавные считать, то можно убрать это.
1
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,483
24.01.2019, 14:08
Лучший ответ Сообщение было отмечено h1per как решение

Решение

rvs_dk,
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
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
 
public class Helper {
 
    public static void main(String[] args) {
        int [] stat = new int[123];
        Arrays.fill(stat, 0);
        try {
            Files.lines(Paths.get("abc.txt"))
                    .flatMapToInt(String::chars)
                    .filter(Character::isLetter)
                    .forEach(c -> stat[c]++);
 
        } catch (IOException e) {
            e.printStackTrace();
        }
        for (int i = 0; i < stat.length; i++) {
            if (stat[i] != 0)
                System.out.println((char)i + " - " + stat[i] + " раз(a)");
        }
    }
}
2
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
24.01.2019, 14:13
ну это да, так то я просто набросок на скорую руку сделал
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,483
24.01.2019, 14:15
Цитата Сообщение от rvs_dk Посмотреть сообщение
набросок
так у меня тоже, не монаЛиза))
0
0 / 0 / 0
Регистрация: 24.01.2019
Сообщений: 8
24.01.2019, 14:17  [ТС]
а как прописать путь к текстовому файлу?
0
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
24.01.2019, 14:25
всмысле зашить в программу?
br = new BufferedReader(new FileReader("media/rvs/Новый том1/abc.txt"));

Добавлено через 1 минуту
br = new BufferedReader(new FileReader("C:/1.txt"));
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,483
24.01.2019, 14:29
Цитата Сообщение от h1per Посмотреть сообщение
путь к текстовому файлу?
а как ты обычно читал файлы?
0
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
24.01.2019, 14:29
Aviz__, я если честно твой код вообще не понимаю, сам то я начал месяц назад java изучать. Пока такие конструкции для меня - дикость.
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,483
24.01.2019, 14:33
Цитата Сообщение от rvs_dk Посмотреть сообщение
вообще не понимаю
вот, поможет)) https://annimon.com/article/2778
Цитата Сообщение от rvs_dk Посмотреть сообщение
сам то я начал месяц назад java изучать
у тебя не плохо получается))
2
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
24.01.2019, 14:36
Цитата Сообщение от Aviz__ Посмотреть сообщение
у тебя не плохо получается))
Раньше на VB.NET клипал, а с декабря подписку купил на javarush. Сейчас да 24 уровня дошел.
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,483
24.01.2019, 14:40
Цитата Сообщение от rvs_dk Посмотреть сообщение
javarush
не очень, ну уж купил...
0
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
24.01.2019, 14:42
Цитата Сообщение от Aviz__ Посмотреть сообщение
не очень
Я уж заметил - все в кучу, сделай то, не знаю что. Но все равно продвигаюсь помаленьку).
0
0 / 0 / 0
Регистрация: 24.01.2019
Сообщений: 8
24.01.2019, 14:50  [ТС]
С таким сможете справится мне просто нужно сделать практические работы на практику
Решение квадратных уравнений.
Написать программу, которая принимает на вход уравнение в виде коэффициентов A, B, C. Вывести корень(корни) или сообщение, что решений нет.
0
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
24.01.2019, 14:53
Да сделать то можно. Только я математику забыл). Напиши конкретно, что надо вычислить.
0
0 / 0 / 0
Регистрация: 24.01.2019
Сообщений: 8
24.01.2019, 14:54  [ТС]
дискриминант и также x1 и x2
0
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
24.01.2019, 15:18
Лучший ответ Сообщение было отмечено h1per как решение

Решение

гуглить заставляешь.
Вот держи:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static void main(String[] args) throws IOException {
        BufferedReader consoleReader = new BufferedReader(new InputStreamReader (System.in));
        System.out.println("Введите А, В и С");
        int a, b, c;
        a = Integer.parseInt(consoleReader.readLine());
        b = Integer.parseInt(consoleReader.readLine());
        c = Integer.parseInt(consoleReader.readLine());
        consoleReader.close();
        int d = b * b - 4 * a * c;
        if (d < 0) {
            System.out.println("Уравнение не имеет корней.");
        }
        else if (d == 0) {
            System.out.printf("Единственный корень x = %.2f", (-b / (2 * (float)a)));
        }
        else {
            double x1 = (-b + Math.sqrt(d)) / ( 2 * a);
            double x2 = (-b - Math.sqrt(d)) / ( 2 * a);
            System.out.printf("Корень x1 = %.2f, Корень x2 = %.2f", x1, x2);
        }
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2019, 15:18
Помогаю со студенческими работами здесь

Частота встречаемости символов в файле
Написать программу которая подсчитывает частоту встречаемости символов в заданном текстовом файле. На вход программе подается имя...

Частота встречи различных букв в тексте
Ребят, помогите пожалуйста решить вот такую задачку- Задан текст, содержащий не более 255 символов. Определить частоту, с которой...

Частота появления каждого байта в файле
Здравствуйте. Может кто из знающих людей,скажет,что конкретно нужно изучить для создания,программы в tp. Не прошу готового решения,а просто...

Сортировка текста в файле; частота появления слов
Добрый день! На PowerShelle надо реализовать такое вот задание: &quot;Отсортировать слова в текстовом файле (10 страниц) по убыванию, вывести...

Частота звука в Wav файле (найти через Быстрое Преобразование Фурье)
Собственно, нужно найти частоту звука в Wav файле. Везде говорят о БПФ, но я нигде не нашел понятных новичку примеров. Нашел код для...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru