Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2018, 18:33   #1
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию Ввод символов.

Здравствуйте!
В С++ с символами у меня получалось как то попроще чем в java.
Например:
Код:
char ch='a';
cin>>ch;
if(ch!='n')
   break;
и всё было понятно что и как работает и что произойдёт.
Как подобное делается в java никак не пойму.
Есть
Код:
Scanner in = new Scanner(System.in);
И как его использовать чтобы вводить символы?
никаких nextChar что-то нету..
Помогите пожалуйста понять как это делается в java?
KAMLS вне форума Ответить с цитированием
Старый 14.09.2018, 19:38   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

У сканера есть некст, некстЛайн и charAt(0) у строки.
Можно прямо (char) System.in.read()
p51x вне форума Ответить с цитированием
Старый 15.09.2018, 14:52   #3
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Спасибо. Буду разбираться. А то просто не знаешь где начинать копать.
KAMLS вне форума Ответить с цитированием
Старый 17.09.2018, 15:13   #4
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Здравствуйте!
Решил использовать эту тему, чтобы не плодить новые. Вопрос похож по теме.
Проблема такая, есть ошибка в исполнении. Но не исключение, а не правильное исполнение.
Ввожу количество строк которые надо ввести, там это число в условии цикла n.
А потом вместо трёх срабатываний делается два.
На скриншотах видно.
Изображения
Тип файла: jpg кадр_49.jpg (20.6 Кб, 65 просмотров)
Тип файла: jpg кадр_62.jpg (38.6 Кб, 66 просмотров)
KAMLS вне форума Ответить с цитированием
Старый 17.09.2018, 15:15   #5
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Т.е. там сразу два срабатывания происходит. Вместо одного. Не даёт вводить строку после первого сообщения "Введите строку".
Отчего так?
KAMLS вне форума Ответить с цитированием
Старый 17.09.2018, 15:28   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Все от того же... В буфере остался перевод строки с прошлой операции. некстИнт не вычитывает \n\r естественно, а некстЛайн все также естественно на них реагирует.
Вычитайте их или скипните.
p51x вне форума Ответить с цитированием
Старый 17.09.2018, 16:15   #7
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Ясно. Спасибо.
KAMLS вне форума Ответить с цитированием
Старый 17.09.2018, 16:25   #8
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Что-то не одолею никак. Просто убрал для эксперимента все переводы на новую строку. Ни фига.
Изображения
Тип файла: jpg кадр_15.jpg (48.2 Кб, 140 просмотров)
KAMLS вне форума Ответить с цитированием
Старый 17.09.2018, 16:28   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Так нужный вы то и не убрали. Толку от того, что вы убрали переводы из выходного буфера? Разговор ведь про входной...
p51x вне форума Ответить с цитированием
Старый 17.09.2018, 16:39   #10
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Честно скажу, не знаю как сделать. Не сталкивался с таким, а в учебниках нету..
Подскажете?
KAMLS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничить ввод символов mixon-21 Windows Forms 2 10.04.2014 19:19
Ввод символов в окошко pufystyj Общие вопросы C/C++ 1 21.12.2010 06:39
Ограничение на ввод символов ANTI1 Общие вопросы Delphi 4 17.12.2008 16:30