#java #scanner
Заметил во многих книгах используется: System.in.read() - это получить что-то с клавиатуры. Почему там допустим не используется класс Scanner? Потому что System.in.read() это быстрее, нежели чем создавать экземпляр класса Scanner и далее создавать вот такую конструкцию: Scanner scanner = new Scanner(System.in); String name = scanner.nextLine(); или же Scanner scanner = new Scanner(System.in); int x = scanner.nextInt(); Поискал на Stackoverflow и не нашел отличия System.in.read и класса Scanner.
Ответы
Ответ 1
Разница есть, и притом, существенная. System.in.read() может считать только 1 символ в виде char. В то же время, Scanner - это универсальная штука, позволяющая считывать в том формате, что надо. Если требуется считать по символам, то не следует заморачиваться, а использовать System.in.read(). В остальных случаях - это, в частности и файлы, используем Scanner.Ответ 2
Потому что искусство подачи учебной информации включает умение рассказывать только о том, что относится к теме, без привлечения дополнительных сущностей. Если тема относится к основам считывания данных из потока ввода, то объяснять это через использование токенизатора - это усложнение и отвлечение.
Комментариев нет:
Отправить комментарий