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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2017, 10:37   #1
Krystalll
Новичок
Джуниор
 
Аватар для Krystalll
 
Регистрация: 06.01.2017
Сообщений: 3
Вопрос [Java]: Ввод данных с клавиатуры

Я совсем еще новичок и хоть убей не могу понять (прочувствовать) тему "Ввод данных с клавиатуры."
Особенно вот этот момент кто б мне "разжевал"!


Код:
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
До этого все так отлично шло.. Объясните пожалуйста блондинке! Только так, чтобы по простому и с примером желательно!
Добивает то что у меня одно в голове "застряло" - а раньше разве не с клавиатуры данные вводились?? Простите если совсем тупой вопрос и не забрасывайте камнями!

Последний раз редактировалось Вадим Мошев; 06.01.2017 в 14:58.
Krystalll вне форума Ответить с цитированием
Старый 06.01.2017, 11:05   #2
AnryKZKZ
Пользователь
 
Регистрация: 15.04.2014
Сообщений: 62
По умолчанию

У всех у нас бывает такое. И тут не "звери" сидят, чтоб вас забрасывать камнями.
Какой язык программирования?
AnryKZKZ вне форума Ответить с цитированием
Старый 06.01.2017, 11:55   #3
Krystalll
Новичок
Джуниор
 
Аватар для Krystalll
 
Регистрация: 06.01.2017
Сообщений: 3
По умолчанию

Да, спасибо за поддержку)) Просто бывают такие, кто смотрит с высока и в ответ на вопрос сыпет терминологией так, что ощущаешь себя дибилом окончательно) Язык Java.

Цитата:
Сообщение от AnryKZKZ Посмотреть сообщение
У всех у нас бывает такое. И тут не "звери" сидят, чтоб вас забрасывать камнями.
Какой язык программирования?

Да, спасибо за поддержку)) Просто бывают такие, кто смотрит с высока и в ответ на вопрос сыпет терминологией так, что ощущаешь себя дибилом окончательно) Язык Java.

Продублировала с цитатой. Наверное так нужно делать...

Последний раз редактировалось Вадим Мошев; 06.01.2017 в 14:57.
Krystalll вне форума Ответить с цитированием
Старый 06.01.2017, 14:24   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

1. Цитировать предыдущее сообщение не нужно, если ответ идет сразу за ним.
2. Данные могут поступать по интерфейсу, из файла, из другой программы - да мало ли... Так что клава - не единственный путь.
3. На Java не писал, так что увы...
4. Пишется "свысока" и "дебилом", но это не важно. Главное - с Рождеством
digitalis вне форума Ответить с цитированием
Старый 06.01.2017, 16:09   #5
Krystalll
Новичок
Джуниор
 
Аватар для Krystalll
 
Регистрация: 06.01.2017
Сообщений: 3
По умолчанию

1.Я институты закончила 10 лет назад, а на данный момент в декрете 3-й год, посмотрела бы на вас, как грамотно вы писали бы на моем месте
2. На форумах не сижу, сейчас у меня, можно сказать, дебют. Поэтому не в курсе, идут ли вам оповещения о моем ответе, если отвечать без цитаты.
3. Жаль что вы не на Java.
4. У меня 2 образования и оба гуманитарных, поэтому когда тебе 30 менять свои увлечения и деятельность нелегко.
5. С Рождеством!
Krystalll вне форума Ответить с цитированием
Старый 06.01.2017, 16:40   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А вопрос-то в чем? Я что-то так и не понял.

Вообще System.in это не обязательно клавиатура, это стандартный поток ввода программы.

Например если открыть cmd (если Windows) или другой терминал (если не Windows) и написать что-нибудь типа
Код:
my_program < file.txt
то читать будет из файла.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.01.2017, 21:44   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Цитата:
Сообщение от Krystalll Посмотреть сообщение
4. У меня 2 образования и оба гуманитарных, поэтому когда тебе 30 менять свои увлечения и деятельность нелегко.
У меня тоже 2 образования и оба технических, так что под 75 уже менять что-(кого-) нибудь глупо Моя мама была учительницей русского языка, потому он у меня уж в крови, хотя сам белорус. На форуме radiokot.ru долго воевал с одим челом (кстати, профи - дай бог каждому! ) , чтобы он не писал "не какого значения", потом бросил.
Думаю, модер простит невольный оффтоп. Кстати, в движке упомянутого форума была хорошая фича: необязательную часть мессаги можно было закатать под спойлер, и она не видна, а кто хочет прочесть - тиснет кнопку "Посмотреть" . За замечания звиняйте, это отрыжка старческого ворчализма
digitalis вне форума Ответить с цитированием
Старый 08.01.2017, 00:25   #8
leprekod
Пользователь
 
Регистрация: 18.12.2016
Сообщений: 37
По умолчанию

Вот код который мне самому написали:
Код:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) 
Q = br.readLine()// название переменной взято от балды :)
В моей теме про Groovy есть работающий пример его использования...
Рассказать как он работает я не могу поскольку в Java я никакой
Подробно о вводе с клавиатуры в Java можно прочесть у Брюса Эккеля
"Философия Java" и/или у Герберта Шилдта "Java.Полное руководство"
leprekod вне форума Ответить с цитированием
Старый 08.01.2017, 00:49   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А что тут объяснять?

Создание BufferedReader и InputStreamReader нужно потому что Java чоткий-ООП-энтерпрейз и создавать стандартную функцию-обертку для упрощения этого они почему-то не захотели (до Java 5-6).

Подробнее о потоках ввода/вывода наверно написано в соответствующей главе.

Про System.in выше написано, это просто указание откуда читать (InputStreamReader универсальный, работает не только для консоли)

С Java 6 можно так:
Код:
String myLine = System.console().readLine();
но оно вроде не работает в некоторых случаях, например при запуске из некоторых IDE.

Зато с Java 5 есть удобный Scanner, и обычно лучше использовать его.
Код:
Scanner scaner = new Scanner(System.in);
String myLine = scaner.nextLine();
int myInt = scanner.nextInt();
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 08.01.2017 в 00:52.
Alex11223 вне форума Ответить с цитированием
Старый 16.01.2017, 18:31   #10
Smayl1ks
Новичок
Джуниор
 
Регистрация: 16.01.2017
Сообщений: 2
По умолчанию

Гугл в помощь !!!
А так я писал всегда на Scanner,но когда узнал про этот метод тоже было тяжко.
http://java-online.ru/java-reader.xhtml

Последний раз редактировалось Smayl1ks; 16.01.2017 в 18:37.
Smayl1ks вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ввод данных текстовых данных например (12ав23у) с клавиатуры и запись(сохранение) в файл на С:\ zippa Visual C++ 18 14.11.2016 18:03
Ввод данных с клавиатуры NataPl Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 16.09.2013 15:14
Ввод данных с клавиатуры (Eclipse) k0tone Помощь студентам 0 28.01.2011 21:38
ввод данных с клавиатуры juden Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 07.05.2008 18:05