Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 17
1

input в java

29.11.2011, 18:51. Показов 3208. Ответов 12
Метки нет (Все метки)

только начала учить джаву,вот интересно,есть ли в ней cin как в С++,то есть могу ли я вводить сама нужную мне информацию,а то на лекции делаем сразу инициализацию,в программе.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2011, 18:51
Ответы с готовыми решениями:

java.io.UTFDataFormatException: malformed input around byte 1
Какая может быть причина возникновения этого исключения? Возникает при попытке считать методом...

Java.lang.NumberFormatException: For input string
Есть файл txt с числами(дробные) записанные в два столбика, надо их считать и записать в...

Как взять значение из input text и из него присвоить к java коду
Как взять значение из input text и из него присвоить к java коду хотел бы, чтобы из text1...

Как взять значение из input text и из него присвоить к java коду
Как взять значение из input text и из него присвоить к java коду хотел бы, чтобы из text1...

12
2582 / 2255 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
29.11.2011, 20:01 2
класс Scanner(System.in)
1
Эксперт JavaЭксперт С++
8368 / 3590 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
29.11.2011, 22:12 3
Можно пользоваться поиском по форуму Работа с текстом в Java, ввод с клавиатуры
1
43 / 35 / 8
Регистрация: 14.09.2011
Сообщений: 158
Записей в блоге: 1
30.11.2011, 00:15 4
Цитата Сообщение от mutagen Посмотреть сообщение
класс Scanner(System.in)
уточню
Java
1
2
3
4
5
Scanner scan = new Scanner(System.in);
String str = scan.next();
int i = scan.nextInt();
float f = scan.nextFloat;
double d = scan.nextDouble();
1
13 / 13 / 0
Регистрация: 25.09.2011
Сообщений: 84
05.12.2011, 22:50 5
попутный вопрос по Scanner в продолжение кода.

какая логика выполнения следующего кода машиной?:

Java
1
2
3
4
Scanner scan = new Scanner(System.in);
    boolean b = scan.hasNextDouble();
    double d = scan.nextDouble();
    int i = scan.nextInt();
почему он предлагает ввести данные только дважды, а не каждый раз когда обращаешься к классу Scanner.
0
Эксперт JavaЭксперт С++
8368 / 3590 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
05.12.2011, 23:00 6
dollar8, потому что метод hasNextDouble ничего не считывает, он просто просматривает поток и проверяет следующий токен потока на соответствие типу и не более того. По факту вы считаете данные методом scan.nextDouble(), а метод scan.hasNextDouble() отработает до него и посмотрит содержимое потока
1
13 / 13 / 0
Регистрация: 25.09.2011
Сообщений: 84
06.12.2011, 00:12 7
Цитата Сообщение от M128K145 Посмотреть сообщение
dollar8, потому что метод hasNextDouble ничего не считывает, он просто просматривает поток и проверяет следующий токен потока на соответствие типу и не более того. По факту вы считаете данные методом scan.nextDouble(), а метод scan.hasNextDouble() отработает до него и посмотрит содержимое потока
а почему тогда
Java
1
2
boolean b = scan.hasNextDouble();
      System.out.println(" " + b);
считывает ввод? и потом результат обрабатывает и отдает переменной?
путаница.
0
Эксперт JavaЭксперт С++
8368 / 3590 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
06.12.2011, 00:42 8
dollar8, он не считывает ввод, он ждет, пока же что-нибудь появится в потоке
1
13 / 13 / 0
Регистрация: 25.09.2011
Сообщений: 84
06.12.2011, 00:55 9
Цитата Сообщение от M128K145 Посмотреть сообщение
dollar8, он не считывает ввод, он ждет, пока же что-нибудь появится в потоке
Но ведь работает.
запускаем. он спрашивает ввод. вводим. если вводим числа, то b присваивается true. в противном false.

Т.е. он что-то считывает-таки?
0
Эксперт JavaЭксперт С++
8368 / 3590 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
06.12.2011, 01:22 10
dollar8, поясню разницу между просмотром и считыванием.
Java
1
2
boolean b = scan.hasNextDouble();
double d = scan.nextDouble();
первая строка "просмотр", вторая "считывание"
аналогичный пример. есть две переменных
Java
1
int a = 1, b;
"Просмотром" в таком случае будет
Java
1
2
3
4
if (a == 1)
   b = 1;
else 
   b = 0;
Считыванием же будет
Java
1
b = a;
Разница заметна?
И да, при чтении значение a удалится, а при просмотре значение останется нетронутым.
1
13 / 13 / 0
Регистрация: 25.09.2011
Сообщений: 84
06.12.2011, 10:48 11
а почему тогда
Java
1
2
3
4
5
    boolean b = scan.hasNextDouble();
 
    boolean b1 = scan.hasNextDouble();
 
    boolean b2 = scan.hasNextDouble();
предлагает ввести значение с клавиатуры только один раз?
и как тогда изменится пример с
Java
1
2
3
4
if (a == 1)
   b = 1;
else 
   b = 0;
0
Эксперт JavaЭксперт С++
8368 / 3590 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
06.12.2011, 13:00 12
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
int a = ..., b, c, d;
if (a == 1)
   b = 1;
else 
   b = 0;
if (a == 1)
   c = 1;
else 
   c = 0;
if (a == 1)
   d = 1;
else 
   d = 0;
Они все ждут, пока в потоке что-нибудь появится
1
13 / 13 / 0
Регистрация: 25.09.2011
Сообщений: 84
06.12.2011, 15:12 13
M128K145, наверное понял. =)
спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2011, 15:12

Сообщение при компиляции под Java 1.5: Some input files use unchecked or unsafe operations
Удосужился, наконец, перейти на Java 1.5. Компилирую старый проект и вылазит такая бяка: Some...

Ошибка java.lang.NumberFormatException: For input string: "63 220.16"
В программе я обращаюсь к базе данных MySQL и беру оттуда значение, перевожу в double и умножаю....

Exception in thread "main" java.lang.NumberFormatException: For input string
Всем привет, Пытаюсь сделать double массив из String массива. Когда ввожу более одного дробного...

Случился казус с java.lang.NumberFormatException: For input string: "".Что делать?
Считываю из файла строку: asdasdasd112 sada 1 123dfdsd Выбрал только цифры, получилось...

java.lang.NumberFormatException: For input string: ""
Нужно получить доступ к переменной, находящейся в другом классе (естественно private и естественно...

Одинаковая ширина для полей input text & input password
Никак не получается выровнять ширину двух тектовых полей: input type='text' и input...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.