«Сначала я решаю задачи, затем много зарабатываю, затем захватываю мир», — эту запись мы нашли в дневнике одного скромного юноши. Давайте представим, что он точно знает, когда это произойдет: введем с клавиатуры число (количество лет, через которые он осуществит свою цель) и имя потенциального захватчика. Затем выведем на экран одну интересную фразу.
План по захвату мира
- 6
- Недоступна
Комментарии (597)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Елена 4 уровень, Киев
позавчера, 17:30
🤬 Кто знает, где в программе смотреть входные данные? на сайте все видно, а как с программой быть?
0
Ердаулет 4 уровень
23 февраля, 18:18
Не могу понять, что не так. Задание не проходит, потому что не выполняется последнее условие. При этом в результате этого кода получаю: Вася захватит мир через 8 лет. Му-ха-ха!
BufferedReader buff = new BufferedReader(new InputStreamReader(System.in));
String Name = buff.readLine();
String text2 = buff.readLine();
int god = Integer.parseInt(text2);
System.out.print(Name + " захватит мир через " + god +" лет. Му-ха-ха!");
0
Игорь 25 уровень, Братск
24 февраля, 07:39
Первым с консоли вводится число
0
LindX Java Developer в JM
21 февраля, 03:37
не внимательно прочитал задание и долго не мог понять почему н еработает
0
piersto 5 уровень, Montreal
13 февраля, 04:16
На сайте входные данные видны. А в IDEA я их что-то не вижу.
Ну и как я должен догадаться, что 8 "вводится" первой, а потом имя??!
+2
Eduard Sharipov Дилетант
12 февраля, 20:53
Короче главное сначала считать число)
0
Сергей 4 уровень, Новосибирск
2 февраля, 15:58
1. Главное опираемся на прошлую лекцию.
2. Если Java говорит что ты забыл что-то импортировать то скорее всего это так и есть.
3. Отслеживаем порядок ввода числа и имени (если смотрим лекцию то там....).
0
Сергей 4 уровень, Киев
21 января, 08:50
Помогла статья вот по этой ссылке. https://metanit.com/java/tutorial/2.9.php (заранее прошу прощения за ссылку на сторонний ресурс и если такое запрещено прошу модераторов сообщить). Во второй половине очень хорошо расписан ввод с клавиатуры в джава (правда при помощи сканера). Если совместить информацию о вводе с клавиатуры из прошлой лекции и вместо сканера использовать BufferedReader то задача становится совсем не сложной.
0
Андрей 4 уровень, Москва
7 января, 13:23
Выгллядит страшно и непонятно, но прошлая лекция помогает немного въехать в суть происходящего
0
Игорь 25 уровень, Братск
4 января, 07:47
Полезная информация:
Если вы напишите две команды readLine(); тогда программа считает две строки с консоли, а не одну.
BufferedReader читаем = new BufferedReader(new InputStreamReader(System.in));
String строка = читаем.readLine();
читаем - это всего лишь имя потока для чтения данных с клавиатуры, таких может быть много с разными именами.
int число = Integer.parseInt(строка);
Integer.parseInt(); - метод преобразующий строку в число, если это возможно, пример строки: "11".
Также есть Double.parseDouble(); - преобразует строку в double и тд
+4
Eugene Semenov 23 уровень, Санкт-Петербург
10 января, 08:19
а вот надо ли парсировать строку в число именно в этом задании? имхо, можно оставить число строкой.
0
Игорь 25 уровень, Братск
12 января, 18:44
Вообще не надо, так как потом во время работы программы переменная типа int неявно преобращается обратно в строку (String), вот что происходит под капотом:
int число = 10;
System.out.println("Вася" + toString(число));
или
String name = запрашиваем с клавиатуры строку
String age = запрашиваем с клавиатуры строку
int nAge = парсим age в число (Integer.parseInt())
System.out.println(name + " захватит мир через " + toString(nAge) + " лет. Му-ха-ха!");
+1
Eugene Semenov 23 уровень, Санкт-Петербург
14 января, 06:00
и я о том же
0
Игорь 25 уровень, Братск
3 января, 10:30
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.in - это переменная класса System, котрая может читать с клавиатуры байты по одному, нормально работать можно только через цикл или нужно написать кучу одинаковых команд, чтобы хотя бы прочитать строку...
InputStreamReader - это "переходник" между чтением байтов и символов, между InputStream и Reader. Он преобразует байты из System.in в символы, но также читает символы по одному.
BufferedReader - это класс буфер, ускоряет работу программы и с ним можно адекватно работать без цикла. Он складывает в свой буффер символы(переменные типа char) из InputStreamReader, а потом склеивает их и возвращает вам одну строку с помощью метода readLine();
Если что-то не поняли это нормально.
+8
Alerm Ess 11 уровень
3 января, 10:44
Спасибо! Как раз пытаюсь разобраться в теме.
0
Илья Азанов 9 уровень, Санкт-Петербург
20 января, 11:30
Чем от Scanner отличается?
0
Игорь 25 уровень, Братск
30 января, 12:15
Сканер, как только пробел видит, пересаёт читать и возвращает кусок текста
0