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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с Double в Scanner'е, не получается считать тип Double. 
:(
    Опции темы
Kremlin
Дата 14.10.2011, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот программка, должно выводить значение Double.

Код

public class Interface {
     public static void main( String [ ] args ) throws IOException {
         Scanner sc= new Scanner(System.in);
         if(sc.hasNextDouble())
             System.out.println("Тип дабл "+sc.nextDouble());
     }
}


Но при вводе числа например 12.12 он не выводит его обратно, подскажите в чем может быть проблема?
PM MAIL   Вверх
dobrolub
Дата 14.10.2011, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Попробуй использовать запятую вместо точки. Сканнер использует Locale, для считывания и вывода, и в Русской Locale, возможно нужна не точка, а запятая.

Не забудь нажать <enter> : 12.12 <enter>

Попробуй также:

System.out.println(12.12d); 

Чем целое число отделено, точкой или запятой?

Это сообщение отредактировал(а) dobrolub - 14.10.2011, 20:27
PM   Вверх
Kremlin
Дата 14.10.2011, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, добрый человек, забыл, что за бугром все запятые используют а не точки.
PM MAIL   Вверх
dorogoyIV
Дата 14.10.2011, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



Цитата(Kremlin @  14.10.2011,  20:39 Найти цитируемый пост)
, что за бугром все запятые используют а не точки.

у меня как раз наоборот  smile 

короче делаешь: 
Код

 ...replaceAll(",", ".");

PM MAIL   Вверх
Kremlin
Дата 14.10.2011, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Тут я подумал, и вспомнил, что у нас запятые а не точки...
И тогда я ничего не понимаю smile 
Но главное - работает!
PM MAIL   Вверх
dorogoyIV
Дата 14.10.2011, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



Цитата(Kremlin @  14.10.2011,  21:37 Найти цитируемый пост)
И тогда я ничего не понимаю 

надо ориентироваться на кодировку джава... ;)
а она никак не кириллическая...
поэтому заменяем все запятые на точки
PM MAIL   Вверх
dobrolub
Дата 14.10.2011, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



try
Код

System.out.println(java.util.Locale.getDefault());

PM   Вверх
dorogoyIV
Дата 14.10.2011, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



dobrolub, это ты на своем компе так сделаешь, а когда на другой прогу кладешь, надо так:
Код

  Locale locale = new Locale("ru", "RU");
  getInputContext().selectInputMethod(locale);

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


Новичок



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

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



Цитата(dobrolub @  14.10.2011,  22:18 Найти цитируемый пост)
try
Выделить всёкод Java
1:
    
System.out.println(java.util.Locale.getDefault());


у меня пишет ru_RU, значит надо поменять на en_EN?
Хотя 
Цитата(dobrolub @  14.10.2011,  20:22 Найти цитируемый пост)
System.out.println(12.12d); 

выводит 12.12(с точкой), а читать точку не может.

Цитата(dorogoyIV @  14.10.2011,  22:46 Найти цитируемый пост)
getInputContext().selectInputMethod(locale);

Это как я понял для оконного приложения, или нет?
Если да то как для консольного сделать?
Если нет то подскажите, что за метод такой getInputContext() ?

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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



Цитата(Kremlin @  16.10.2011,  14:25 Найти цитируемый пост)
Это как я понял для оконного приложения, или нет?

совершенно верно, это для окон, например запустил прогу, и сразу раскладка ставится нужная...

по твоему вопросу - ничего не надо менять... ;)
да, заменяешь все запятые на точки, и парсишь... ;)
PM MAIL   Вверх
Kremlin
Дата 16.10.2011, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(dorogoyIV @  14.10.2011,  20:52 Найти цитируемый пост)
1:
    
 ...replaceAll(",", ".");

Как это сделать, немного не понимаю, все копировать в другой файл с переименовыванием точки в запятую, а потом переименовать файл?
или как?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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