В лекции по примеру 1 все проходит, а по примеру 2 нет. Почему?
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
И оно ругается:
Не могу найти описание переменной "bufferedReader" в классе "com.javarush.task.task03.task0319.Solution". Возможно вы забыли ее импортировать (указать в import).
файл com/javarush/task/task03/task0319/Solution.java, строка 13, позиция 283
Дмитрий
5 уровень
Почему не проходит?
Решен
Комментарии (17)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Antonio Abelardo
25 января 2019, 10:30
//Вопрос закрыт!
0
Алексей
24 января 2019, 22:52
Scanner используй.
0
Дмитрий
23 января 2019, 21:40
Так работает.
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
На лекции ввели в заблуждение получается(((
3 уровень, 7 лекция
0
IceBergMaster
23 января 2019, 21:45
Какое заблуждение?) ты в своем решении создаешь одну переменную, а используешь другую. Переменная может называться хоть "bufferedReader" хоть "reader" да хоть "vasya", но если ты создал васю то и используй васю))
0
Дмитрий
23 января 2019, 21:53
Вот и не пойму. К примеру: BufferedReader vasj = new BufferedReader(new inputStreamReader(System.in));
String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
И куда на него ссылка? То есть Вася в данном случае вообще не влияет ни на что? Куда его писать?
0
IceBergMaster
23 января 2019, 21:56решение
Здесь ты обращаешься к переменно "reader" которую ты не создавал, и вызываешь её метод readLine().
Раз ты создал vasj то зачем используешь reader? Используй vasj:
+1
Дмитрий
23 января 2019, 22:00
Все! Дошло! Аллеллуйя! С П А С И Б О ! Не могли сразу в лекции Васю вписать, а то я все это время думал, что так устроен язык программирования))) И обязательно именно так!
0
IceBergMaster
23 января 2019, 22:17
Часто, если название переменной не несёт смысловой нагрузки, то ее называют таким же именем как и её класс/тип только заменяют первую букву на маленькую (все переменные пишутся с маленькой буквы) Например:
Многим же, и мне в том числе, более удобно использовать более короткое название reader
Некоторым вообще удобнее создавать названия аббревиатуры
Но когда в лекции говорилось о сокращении, то имелось введу то, что идет после знака равно. Мы сократили три строчки
До одной
0
Дмитрий
23 января 2019, 21:26
Из лекции:
Пример 2
Более компактная запись первой части:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
Из лекции первая часть. работает, а более компактная (2й пример) нет!!!
0
IceBergMaster
23 января 2019, 21:28
Первый пример
Второй пример
Ничего не смущает? 0
Дмитрий
23 января 2019, 21:30
Во втором просто создали reader, но я просто не могу понять как в лекции тогда? Ошибка?
И тогда правильно компактно писать
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
?
0
IceBergMaster
23 января 2019, 21:33
Во втором создали reader и используют reader, а ты создал что, и используешь что?
0
Дмитрий
23 января 2019, 21:22
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = bufferedReader.readLine();
String chis1 =bufferedReader.readLine();
int chislo1 = Integer.parseInt(chis1);
String chis2 = bufferedReader.readLine();
int chislo2 = Integer.parseInt(chis2);
System.out.println(name+" получает "+chislo1+ " через "+ chislo2+" лет.");
0
IceBergMaster
23 января 2019, 21:26
Как я и говорил, ты создаешь какую переменную? bufferedReader?
0
IceBergMaster
23 января 2019, 21:17
Где код? Может ты по примеру где-то использовал переменную bufferedReader которой у тебя не существует?
0
--------Master
23 января 2019, 21:15
Так все же BufferedReader или bufferedReader?
И в импортах (после package) нужные классы указаны?
0
Андрей Малыгин
23 января 2019, 21:14
Кинь код
0