Доброго времени суток. Написал коротенький код для ребенка ( изучаем алфавит и клавиатуру). С латинскими буквами работает отлично, а вот с кириллицей постоянно выдает ошибку. Подскажите как это исправить
System.out.println("ДАВАЙ ПОВТОРИМ БУКВЫ И НЕМНОГО ИЗУЧИМ КЛАВИАТУРУ. ВВЕДИ БУКВУ ПОЯВИВШУЮСЯ НА ЭКРАНЕ");
System.out.println("\n");
ArrayList<String> list = new ArrayList<>();
list.add("й");
list.add("ц");
list.add("у");
list.add("к");
list.add("е");
list.add("н");
list.add("г");
list.add("ш");
list.add("щ");
list.add("з");
list.add("х");
list.add("ф");
list.add("ы");
list.add("в");
list.add("а");
list.add("п");
list.add("р");
list.add("о");
list.add("л");
list.add("д");
list.add("ж");
list.add("э");
list.add("я");
list.add("ч");
list.add("с");
list.add("м");
list.add("и");
list.add("т");
list.add("ь");
list.add("б");
list.add("ю");
list.add("ё");
list.add("ъ");
for (int i = 0; i < 10; i++) {
double c = Math.random()*(33-1) ;
int b = (int) c;
String s = list.get(b);
System.out.println(s);
Scanner in = new Scanner(System.in);
System.out.println("Введите букву: ");
String f = in.nextLine();
if (s.equalsIgnoreCase(f)) {
System.out.println("Молодец! Продолжай в том же духе");
}else{
System.out.println("Не правильно! Давай еще разок");
}
}
}
}
Павел Фролов
29 уровень
Как заставить java сравнивать буквы на кириллице
Обсуждается
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Volkova Java Developer в DXC Master
30 октября 2020, 12:00
А какая ошибка-то?
+2
Павел Фролов
30 октября 2020, 12:05
На кирилице не работет. Все врем пишет неправильно. На латинице работает
0
hidden #2322530
30 октября 2020, 12:06
а ты пробовал вывести ради интереса на экран то, что ты вводишь с клавиатуры?
0
Павел Фролов
30 октября 2020, 12:11
Да.Выводит на кирилице.Но сравнивая выдает ошибку. Похоже где то надо менять кодировку
0
Marvell QA Automation Engineer
30 октября 2020, 11:58
https://ru.stackoverflow.com/
0
Павел Фролов
30 октября 2020, 12:10
Благодарю)
0