1 / 1 / 0
Регистрация: 13.11.2018
Сообщений: 58
1

Проверка остались ли кириллические символы

28.12.2018, 08:29. Показов 1834. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем хай) я написал конвертер который конвертирует кириллицу в латиницу. Я написал функцию которая проверяет остались ли кириллические символы, но почему то код не работает, Помогите написать функцию которая проверяет остались ли кириллические символы

Вот мой код

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.*;
 
        public class Main {
        public static void main(String[] args) throws  IOException {
        final String DEFAULT_ENCODING = "utf-8";
        
        if(args.length < 2 || args.length > 3) {
            System.out.println("Неверное количество аргументов");
            System.exit(1);
        }
        
        String inputFilePath = args[0];
        String outputFilePath = args[1];    
        String fileEncoding = args.length == 2 ? DEFAULT_ENCODING : args[2];
        
 
        
        
 
        
        
        BufferedReader in = new BufferedReader( new InputStreamReader(new FileInputStream(inputFilePath), fileEncoding));
        File file = new File(outputFilePath);
        FileOutputStream fileOutputStream = new FileOutputStream(file, false);
        
        Writer writer = new OutputStreamWriter(fileOutputStream, StandardCharsets.UTF_8);
        
        String line;
        StringBuilder result = new StringBuilder();
        
        Map<String, String> dictionary = new Dictionary().getDictionary();
        
        while ((line = in.readLine()) != null) {
            String outLine = convertString(line, dictionary) + System.getProperty("line.separator");
            System.out.println(line);
            System.out.println(outLine);
            result.append(outLine) ;
        }
        
        writer.write(result.toString());
        
        in.close();
        writer.flush();
        writer.close();
                
        }
        
 
    public static String convertString(String str, Map<String, String> dictionary) {
        char[] chars = str.toCharArray();
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < chars.length; i++) {
            if (dictionary.containsKey(Character.toString(chars[i]))) {
                stringBuilder.append(dictionary.get(Character.toString(chars[i])));
                continue;
            }
            stringBuilder.append(chars[i]);
        }
        return stringBuilder.toString();
    }
}
 
class Dictionary {
    private Map<String, String> dictionary;
 
    public Dictionary() {
        dictionary = new HashMap<>();
        dictionary = new HashMap<>();
        dictionary.put("а", "a");
        dictionary.put("А", "A");
        dictionary.put("ә", "á");
        dictionary.put("Ә", "Á");
        dictionary.put("б", "b");
        dictionary.put("Б", "B");
        dictionary.put("д", "d");
        dictionary.put("Д", "D");
        dictionary.put("е", "e");
        dictionary.put("E", "E");
        dictionary.put("ф", "f");
        dictionary.put("Ф", "F");
        dictionary.put("г", "g");
        dictionary.put("Г", "G");
        dictionary.put("ғ", "ǵ");
        dictionary.put("Ғ", "Ǵ");        
        dictionary.put("х", "h");
        dictionary.put("Х", "H");
        dictionary.put("һ", "һ");
        dictionary.put("Һ", "Һ");
        dictionary.put("і", "і");
        dictionary.put("І", "I");
        dictionary.put("и", "ı");
        dictionary.put("И", "I");
        dictionary.put("й", "ı");
        dictionary.put("Й", "I");
        dictionary.put("ж", "j");
        dictionary.put("Ж", "J");
        dictionary.put("к", "k");
        dictionary.put("К", "К");
        dictionary.put("л", "l");
        dictionary.put("Л", "L");
        dictionary.put("м", "m");
        dictionary.put("М", "M");
     
        
    }
 
    public Map<String, String> getDictionary() {
        return dictionary;
        
    }
 
public boolean isCyrillic(String s) {
    boolean result = false;
    for (char a : s.toCharArray()) {
        if (Character.UnicodeBlock.of(a) == Character.UnicodeBlock.CYRILLIC) {
            result = !result;
            break;
        }
    }
    return result;
 
}
Добавлено через 5 минут
Точнее Который пройдется по латинскому алфавиту в классе Dictionary и проверит есть ли там кириллические символы
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2018, 08:29
Ответы с готовыми решениями:

Кодировка и кириллические символы
Знаю может показаться репостом, но секундочку внимания. Ситуация следующая: Есть FreeBSD на нем...

Не отображаются кириллические символы
На пример в место вывода на экран сообщения &quot;Дождь идет?&quot; программа выводит &quot;????? ?????&quot; using...

Не отображаются кириллические символы в WoW
Проблема состоит в следующем . Во время игры в WoW не читаются русские буквы чата , вместо них...

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

8
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
28.12.2018, 09:31 2
Цитата Сообщение от Gregorian12 Посмотреть сообщение
но почему то код не работает
как не работает, что не работает, какие действия ты предпринял, что падало? срочно читаем и начинаем использовать
https://www.cyberforum.ru/java/thread2250765.html

Цитата Сообщение от Gregorian12 Посмотреть сообщение
пройдется по латинскому алфавиту в классе Dictionary и проверит есть ли там кириллические символы
не должно их там быть в латинском то... но если ты в определенном тексте их проверяешь, то просто побуквенно сравнивай нет ли в тексте буквы, которая не входит в латиницу (там всего 26 букв)
0
1 / 1 / 0
Регистрация: 13.11.2018
Сообщений: 58
28.12.2018, 09:41  [ТС] 3
Welemir1, Программа работает и конвертирует. Но там когда я в коде писал латинский алфавит походу случайно написал кириллический. нужно написать функцию которая в классе dictionary проверит есть ли там в латинском алфавите кириллическая буква
0
189 / 177 / 111
Регистрация: 22.06.2009
Сообщений: 533
28.12.2018, 09:47 4
Цитата Сообщение от Gregorian12 Посмотреть сообщение
Java
1
2
dictionary = new HashMap<>(); 
dictionary = new HashMap<>();
зачем два раза инициализировать, почему такой странный алфавит?
1
1 / 1 / 0
Регистрация: 13.11.2018
Сообщений: 58
28.12.2018, 09:48  [ТС] 5
worldown,

Это новый казахско латинский алфавит, там нужны пустые скобки, потому что некоторых кириллических букв нету нету в латинице
0
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
28.12.2018, 10:03 6
Gregorian12, такая тя устроит Проверка символов входящего сообщения на принадлежность алфавиту ?
1
1 / 1 / 0
Регистрация: 13.11.2018
Сообщений: 58
28.12.2018, 10:18  [ТС] 7
Aviz__, мне нужно чтобы в он в классе Dictionary пробежался по латинскому алфавиту и если там кириллическая буква то выдал (true/false)

Добавлено через 1 минуту
Aviz__, там просто нужно по алфавиту пробежаться
0
NiceJacket
28.12.2018, 10:19
  #8

Не по теме:

Я бы сказал так : программирование - это не ваше. Вы уже две недели сидите с этой программой, основную реализацию которой вам написали. Я уже говорил, что либо вы учитесь последовательно (в вашем случае с нуля), либо бросьте это дело и не занимайтесь этим никогда

0
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
28.12.2018, 10:28 9
Лучший ответ Сообщение было отмечено Gregorian12 как решение

Решение

Цитата Сообщение от Gregorian12 Посмотреть сообщение
по алфавиту пробежаться
так и есть, в моем решении!

Добавлено через 6 минут

Не по теме:

NiceJacket, Бро, это совершенно бессмысленно! Ты тысячу раз прав, но могут нюансы, которых мы не знаем...

1
28.12.2018, 10:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2018, 10:28
Помогаю со студенческими работами здесь

Apache2 Tomcat Java и кириллические символы
Доброго времени суток. В первый раз настроил удаленный сервер и задеплоил свой небольшой проект....

Функция A2W съедает кириллические символы
Работаю с библиотекой jni для связи java и с++. Передаю строку с java в c++. Строка приходит...

Как достать кириллические символы из char*
Добрый день. Использую библиотеку, которая возвращает строку в char*. Если создавать std::wstring...

Вывод символьного массива в textBox и кириллические символы
Добрый вечер! В кратце, пишу программу, которая должна расставлять переносы в водимых словах...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru