Модераторы: LSD, AntonSaburov
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Простое меню на Яве 
:(
    Опции темы
Syltan
Дата 24.5.2010, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: нет
Всего: -2



Не работает простое меню на Яве, пишу по книге код.
Не компилится, останавливается на 

Код

choice = (char)System.in.read(d);


Вот весь код:
Код

package java2;
public class Main {
    public static void main(String[] args)
    throws java.io.IOException{
char choice=5;
    String hello ="Привет";
    String charsetName="Cp866";
    System.out.write(hello.getBytes(charsetName));
do{
       System.out.println("Справка по:");
       System.out.println(" 1. if");
       System.out.println(" 2. switch");
       System.out.println(" 3. while");
       System.out.println(" 4. do-while");
       System.out.println(" 5. for\n");
       System.out.println(" Выберите интересующий пункт:");
       choice = (char)System.in.read(d);
}while(choice<'1' || choice>'5');
 System.out.println("\n");
 switch(choice){
     case '1':System.out.println("if:\n");
              System.out.println("if(условие  оператор;");
              System.out.println("else оператор;");
              break;
     case '2':
              System.out.println("switch: \n");
              System.out.println("switch(выражение) {");
              System.out.println(" case константа:");
              System.out.println(" последовательность операторов");
              System.out.println(" break;");
              System.out.println(" // ... ");
              System.out.println(" }");
     break;
     case '3':
               System.out.println(" while:\n");
               System.out.println(" while(условие) оператор;");
               break;
     case '4':
              System.out.println(" do-while:\n");
              System.out.println("do { ");
              System.out.println(" оператор");
              System.out.println(" } (условие);");
              break;
     case '5':
              System.out.println(" for:\n");
              System.out.println(" for(инициализация; условие; повторение)");
              System.out.println(" оператор");
              break;


 }
}
}




PM MAIL   Вверх
Syltan
Дата 24.5.2010, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: нет
Всего: -2



Код

package java2;
public class Main {
    public static void main(String[] args)
    throws java.io.IOException{
    String hello ="Привет";
    String charsetName="Cp866";
    System.out.write(hello.getBytes(charsetName));
char choice;

do{
       System.out.println("Справка по:");
       System.out.println(" 1. if");
       System.out.println(" 2. switch");
       System.out.println(" 3. while");
       System.out.println(" 4. do-while");
       System.out.println(" 5. for\n");
       System.out.println(" Выберите интересующий пункт:");
       choice = (char)System.in.read();
}while(choice<'1' || choice>'5');
 System.out.println("\n");
 switch(choice){
     case '1':System.out.println("if:\n");
              System.out.println("if(условие  оператор;");
              System.out.println("else оператор;");
              break;
     case '2':
              System.out.println("switch: \n");
              System.out.println("switch(выражение) {");
              System.out.println(" case константа:");
              System.out.println(" последовательность операторов");
              System.out.println(" break;");
              System.out.println(" // ... ");
              System.out.println(" }");
     break;
     case '3':
               System.out.println(" while:\n");
               System.out.println(" while(условие) оператор;");
               break;
     case '4':
              System.out.println(" do-while:\n");
              System.out.println("do { ");
              System.out.println(" оператор");
              System.out.println(" } (условие);");
              break;
     case '5':
              System.out.println(" for:\n");
              System.out.println(" for(инициализация; условие; повторение)");
              System.out.println(" оператор");
              break;


 }
}
}



Вот так вроде работает, толкьо русская кодировка не отображается в командной строке. Как исправить?
PM MAIL   Вверх
susanin
Дата 24.5.2010, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 7



Код

 System.out.write(hello.getBytes(Charset.forName("Cp866")));

надо вот так...правда работать будет только для слова "Привет"
для остальных случаев можно сделать как то так
Код

System.out.write("Справка по:\n".getBytes(Charset.forName("Cp866")));


Это сообщение отредактировал(а) susanin - 24.5.2010, 21:05
PM MAIL   Вверх
dobrolub
Дата 24.5.2010, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 11
Всего: 16



попробуй :

Control Panel -> Regional and  Language Options -> Administrativ (tab) -> Change System Locale (choose Russian (Russia))

перезагрузка...

PM   Вверх
Syltan
Дата 25.5.2010, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 31.8.2009

Репутация: нет
Всего: -2



Где такое выбирать?

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  clip_image002.jpg 24,80 Kb
PM MAIL   Вверх
susanin
Дата 25.5.2010, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 587
Регистрация: 7.10.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 7



Цитата(Syltan @  25.5.2010,  02:09 Найти цитируемый пост)
Где такое выбирать?

имелось ввиду "панель управления->язык и региональные стандарты->изменить местоположение" в самой Windows
PM MAIL   Вверх
LSD
Дата 25.5.2010, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



FAQ smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0679 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.