Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Зачем в java такие сложные заморочки с вводом переменной? (если сравнивать с тем же Raedln())

Санек Пархомовский Мыслитель (6001), закрыт 5 лет назад
import java.util.Scanner
Scanner weight = new Scanner(System.in)
int w = weight.nextLine()
Зачем все это?
Обьясните пожалуйста хотя-бы по частям принцып работы...
Лучший ответ
Андрей Высший разум (428598) 5 лет назад
Посмотри в интернете "принцип единственности ответственности" (буква S в SOLID).

System.in - объект стандартного потока ввода, который знать не знает, что будут делать с его данными. Единственная его задача - отдать данные тому, кто их запросит.

Scanner - класс, реализующий преобразование данных в нужный формат, которому совершенно фиолетово, из какого источника эти данные берутся: хоть их файла, хоть из строки. Источник, откуда надо брать данные, указывается ему при создании объекта (этот приём программирования называется "инъекция зависимостей").

И, кстати, nextLine возвращает строку, которую нельзя присвоить целочисленной переменной.
Остальные ответы
Mr.D Оракул (67551) 5 лет назад
хз на счёт java, но на сколько я понял:
import java.util.Scanner - импорт какой то библиотеки классов
Scanner weight = new Scanner(System.in) - создаётся объект weigh из класса Scanner
int w - создаётся целочисленная переменная, которой присваивается значение выдаваемое методом nextLine() объекта weight из класса Scanner
пппМыслитель (9216) 5 лет назад
Ты все правильно понял. Только не объяснил зачем это все надо
АлександрИскусственный Интеллект (291334) 5 лет назад
забыл ты сказать что работать это не будет
нельзя строку присвоить целочисленной переменной...
Санек Пархомовский Мыслитель (6001) Упс nextInt()
Niis Просветленный (39554) 5 лет назад
Как выстрелить себе в ногу:
Java: После импорта java.awt.right.foot.* и java.awt.gun.right.hand.* и написания классов и методов, необходимых для этих классов, вы забываете, что вы, чёрт возьми, хотели сделать.

http://lurkmore.to/Выстрелить_себе_в_ногу
Источник: Всё правильно))
Похожие вопросы