Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297

Русские символы

09.02.2013, 11:35. Показов 2447. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Написал не большую программу в которой указывается имя студента и его вид спорта.
Вид спорта вводится по русски и тут начинается большая проблема! условие if не срабатывает на русскую букву. В чем может быть проблема? помогите пожалуйста решить

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void main(String[] args) {
        // TODO code application logic here
        Scanner console = new Scanner(System.in);
        System.err.println("======|Доступные виды спорта|======\n1.Атлетика\n2.Баскетбол\n3.Волейбол\n4.Регби\n5.Футбол"
                + "\n Вы можете указывать как номер вида так и название вида в любом удобном для вас регистре\n");
        System.out.print("Укажите количество студентов для обработки: ");
        int n = console.nextInt();
        System.out.println("---------------");
   
        for (int i =0; i<= n; i++ ){
            System.out.println("Фамилия студента: ");
            String name = console.next();
            System.out.println("Вид спорта: ");
            String activity = console.next();
            if (activity.toLowerCase().startsWith("a")){
                System.out.println("Ура атлетика!");
            }
        }
И еще интересует такой вопрос. Что нужно дописать чтобы в cmd отображались русские символы?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.02.2013, 11:35
Ответы с готовыми решениями:

русские символы
public class Krip { public static void main(String args) { FileInputStream fl; int i; ...

Не выводятся русские символы
В ходе своей программы совершаю чтение текста из файла. Текст составлен на русском языке. Далее вывожу его на экран. В результате работы...

Русские символы в пути к jar
Столкнулся с нетривиальной проблемой. Команда C:\Documents and Settings\Alexandr&gt;java -jar &quot;C:\Documents and...

15
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
09.02.2013, 11:40
в смд chcp 866
а потом идёте на сайт скипи и читатете про
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
09.02.2013, 11:41  [ТС]
Хотелось бы это сделать в исходнике.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
09.02.2013, 11:43
то что нужно в исходниках прочтёте у скипи, а то что нужно для русского в консоли я уже написал
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
09.02.2013, 11:50
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
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
 
public class Main {
    public static void main(String[] args) throws IOException {
        // TODO code application logic here
        
        BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
        
        System.err.println("======|Доступные виды спорта|======\n1.Атлетика\n2.Баскетбол\n3.Волейбол\n4.Регби\n5.Футбол"
                + "\n Вы можете указывать как номер вида так и название вида в любом удобном для вас регистре\n");
        System.out.print("Укажите количество студентов для обработки: ");
        int n = Integer.parseInt(console.readLine());
        
        System.out.println("---------------");
   
        for (int i=0; i<n; i++){
            System.out.print("Фамилия студента: ");
            String name = console.readLine();
            System.out.print("Вид спорта: ");
            String activity = console.readLine();
            
            if (activity.toLowerCase().charAt(0) == 'а'){
                System.out.println("Ура атлетика!");
            }
        }
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
======|Доступные виды спорта|======
1.Атлетика
2.Баскетбол
3.Волейбол
4.Регби
5.Футбол
 Вы можете указывать как номер вида так и название вида в любом удобном для вас регистре
 
Укажите количество студентов для обработки: 2
---------------
Фамилия студента: Аветисян Севак
Вид спорта: Баскетбол
Фамилия студента: Аветисян Севак
Вид спорта: Атлетика
Ура атлетика!
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
09.02.2013, 12:16  [ТС]
Севак. С твоим кодом возникает проблема. Если вводить русские символы в IDE то вот что получается

Укажите количество студентов для обработки: 5
5
---------------
Фамилия студента: Иванов
Иванов
Вид спорта: Атлетика
Фамилия студента: Ivanof
Вид спорта: Фамилия студента:
т.е в первый раз мне пришлось 2 раза вводить фамилию т.к дальше он не едет.
далее я ввел Атлетика но никакого сообщения я не получил и перешел к вводу данных.
Ввел фамилию по английски и получил следущее. Программа запросила вид спорта и сразу же фамилию студента.

Попробовал запустить в консоле. Там с этим проблем нет НО на Атлетика он не реагирует(
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
09.02.2013, 12:24
У меня все нормально
Миниатюры
Русские символы  
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
09.02.2013, 12:30
Цитата Сообщение от waip Посмотреть сообщение
Попробовал запустить в консоле. Там с этим проблем нет НО на Атлетика он не реагирует(
Вы принципиально не хотите читать статью Скипи? там всё что нужно есть, не разводите тут флуд
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
09.02.2013, 13:40  [ТС]
Цитата Сообщение от mutagen Посмотреть сообщение
Вы принципиально не хотите читать статью Скипи? там всё что нужно есть, не разводите тут флуд
Я его прочитал в первую очередь. Он тяжело читается и многое осталось не понятным.

Добавлено через 59 минут
mutagen, подскажите пожалуйста решение.

Между делом попробовал сделать так
if (activity.toLowerCase().charAt(0)=='\u04 30'){

-- не помогает.

Добавлено через 8 минут
Севак, какая IDE у тебя?
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
09.02.2013, 13:42
waip, eclipse
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
09.02.2013, 13:44  [ТС]
А версия анта у тебя какая? Что за винда стоит?

Кстати, а может стоит попробовать использовать специальные параметры при запуске типа java -jar 1.jar -encodind.UTF-8 ??
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
09.02.2013, 13:47
waip, честно не знаю, какая была с эклипсом, ту и юзаю
с консолью ничем не смогу помочь
0
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
09.02.2013, 14:55  [ТС]
ЕЕЕЕ я победил!!!! Урааа)) Вот решение проблемы.
Рядом с вашим jar файлом создайте bat файл в котором укажите
@echo off
java -Dfile.encoding=cp866 -jar JavaApplication76.jar
pause
На всякий случай я изменил условие на
if (activity.toLowerCase().equals("атлетика")){ - если вдруг появится кроме атлетики еще и аэрохоккей и еще чтонибудь на а.

Добавлено через 34 минуты
Возникла другая проблема

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
 System.err.println("======|Доступные виды спорта|======\n1.Атлетика\n2.Баскетбол\n3.Волейбол\n4.Регби\n5.Футбол"
                + "\n !Вы можете указывать как номер вида так и название вида в любом удобном для вас регистре!\n");
        System.out.print("Укажите количество студентов для обработки: ");
        int n = console.nextInt();
        System.out.println("---------------");
         int ii=n;
         
        for (int i =1; i<= n; i++ ){
            System.out.println("Фамилия студента: ");
            
          String name = console.next();
            System.out.println("Вид спорта: ");
           String activity = console.next();
             
            
            if (activity.toLowerCase().equals("атлетика")){
                 ii-=1;
                System.out.println("Студент "+name+" занимается атлетикой");
                System.out.println("Осталось: "+ii);
            }
            if (activity.toLowerCase().equals("баскетбол")){
                 ii-=1;
                System.out.println("Студент "+name+" занимается баскетболом");
                System.out.println("Осталось: "+ii);
            }
            if (activity.toLowerCase().equals("волейбол")){
                 ii-=1;
                System.out.println("Студент "+name+" занимается волейболом");
                System.out.println("Осталось: "+ii);
            }
            if (activity.toLowerCase().equals("регби")){
                 ii-=1;
                System.out.println("Студент "+name+" занимается регби");
                System.out.println("Осталось: "+ii);
            }
            if (activity.toLowerCase().equals("футбол")){
                 ii-=1;
                System.out.println("Студент "+name+"занимается футболом");
                System.out.println("Осталось: "+ii);
            }
            else  {
                System.err.println("!Данного вида спорта не существует или не верно указан существующий!");
            }
        }
Дописал условия и сделал else вот что получается

---------------
Фамилия студента:
Тест
Вид спорта:
Атлетика
Студент Тест занимается атлетикой
Осталось: 4
!Данного вида спорта не существует или не верно указан существующий!
Фамилия студента:
т.е else почему то проходит хотя не должен(
0
Музыка нас Связала
 Аватар для Fonduee
232 / 232 / 52
Регистрация: 26.03.2008
Сообщений: 616
09.02.2013, 15:24
Причина тому, что ваш "Тест" не занимается футболом.
1
 Аватар для waip
7 / 7 / 1
Регистрация: 27.05.2011
Сообщений: 297
09.02.2013, 15:41  [ТС]
Цитата Сообщение от Fonduee Посмотреть сообщение
Причина тому, что ваш "Тест" не занимается футболом.
Спасибо!
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Фамилия студента:
тест
Вид спорта:
атлетика
Студент тест занимается атлетикой
Осталось: 4
Фамилия студента:
иванов
Вид спорта:
регби
Студент иванов занимается регби
Осталось: 3
Фамилия студента:
сидоров
Вид спорта:
бег
!Данного вида спорта не существует или не верно указан существующий!
Добавлено через 54 секунды
Решение. переписал if на else if
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
11.02.2013, 13:06
А по поводу кодировок и консоли - есть отдельная статья:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.02.2013, 13:06
Помогаю со студенческими работами здесь

Jasper Reports и русские символы.
Создал шаблон, скомпилил, сделал PDF! Открываю а там ниодного русского слова нет)) Куда то все делось) Помогите, плз! Раскажите как с этим...

Компилятор не принимает русские символы в пути к файлу
Всем привет! Прописываю путь к файлу, для того чтобы считать с него данные. Когда в пути нет русских символов считывание происходит...

Как определить есть ли русские символы в строке?
Hi, All! При генерации HTML в сервлете я могу перекодировать русский текст строки st st_rus_new=URLDecoder.decode(st_rus_old); ...

Генерация rtf файла: не могу записать русские символы
генерирую rtf файл и тут возникла проблема русские буквы просто напросто в неправильной кодировке import java.io.File; import...

Русские символы при выводе из файла на консоль без использования BufferedReader
Неправильно отображаются русские символы при выводе их из файла на консоль, либо при копировании из одного файла в другой. Можно ли...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru