Напишите программу которая считывает имя пользователя и затем приветствует его java

Обновлено: 07.07.2024


В предыдущих лекциях мы познакомились с командами вывода на экран. Для этого мы использовали объект System.out , и его методы print() и println() . Просто и удобно.

Но, как вы уже наверное догадываетесь, одного вывода на экран недостаточно. Цель большинства программ — сделать что-то полезное для пользователя. Поэтому очень часто нужно, чтобы пользователь мог вводить данные с клавиатуры.

Как и для вывода, для ввода данных тоже есть специальный объект — System.in . Но, к сожалению для нас, он не настолько удобен, как нам бы хотелось. Этот объект позволяет считывать данные с клавиатуры по одному символу за раз.

Поэтому мы воспользуемся еще одним классом, который в паре с объектом System.in даст нам все, что нужно. В Java уже давно есть классы на все случаи жизни. С одним из них мы сейчас и познакомимся.

2. Класс Scanner

Считывание с клавиатуры с помощью объекта типа Scanner будет выглядеть примерно так:

Код Пояснение
Создаем объект класса Scanner .
Читаем с клавиатуры строку текста .
Читаем с клавиатуры число .

Выглядит вроде несложно, но так ли все просто на самом деле?

Думаю, у вас появилась куча вопросов, и сейчас мы на них ответим.

Но для начала продемонстрируем пример полной программы, где используется класс Scanner :

3. Создание объекта Scanner

Такая строка может сбивать с толку, однако вы будете постоянно встречать похожие вещи. Так что, думаем, настало время объяснить, что тут написано.

Вспомним, как мы обычно создаем переменную с текстом:

Сначала мы пишем тип переменной ( String ), затем ее имя ( str ) и, наконец, после знака равно пишем значение.

В нашей странной строке на самом деле все то же самое:

Объявление и инициализация переменной типа Scanner

Все, что находится слева от знака равно — это объявление переменной типа Scanner по имени console . Можно было назвать ее, например, s или scanner , или даже keyboard . Тогда код выглядел бы так:

Думаю, теперь все стало гораздо понятнее.

А код, что находится справа от знака равно , немного сложнее. Имеется в виду new Scanner(System.in); Но тут тоже ничего космического.

В этом коде мы говорим Java-машине: создай новый объект (слово new ) типа Scanner и передай в него в качестве параметра то, из чего новосозданный объект Scanner будет брать данные — объект System.in .

После выполнения всей этой строки у нас появится переменная по имени console типа Scanner , с помощью которой наша программа сможет считывать данные с клавиатуры.

4. Вызов методов

В приведенном выше примере наша переменная console типа Scanner хранила у себя внутри ссылку на объект типа Scanner .

Чтобы вызвать методы объекта, на который ссылается переменная, нужно после имени переменной написать точку, а затем имя метода и параметры. Общий вид этой команды такой:

Вызов метода объекта, на который ссылается переменная

Если вы не планируете передавать в функцию параметры, нужно писать просто пустые скобки:

5. Ввод данных с консоли

Вводить данные с клавиатуры, когда у нас есть объект типа Scanner , очень легко.

Чтобы считать с клавиатуры строку , нужна команда:

Когда программа дойдет до выполнения этой строки, она приостановится и будет ждать, пока пользователь введет данные и нажмет клавишу enter. После этого все, что ввел пользователь, будет сохранено в переменную str .

Чтобы считать с клавиатуры число , нужна команда:

Тут все аналогично предыдущей команде. Когда программа дойдет до выполнения этой строки, она приостановится и будет ждать, пока пользователь введет данные и нажмет клавишу enter. После этого все, что ввел пользователь, будет преобразовано в число и сохранено в переменную number .

Если пользователь ввел данные, которые невозможно преобразовать в целое число, в программе возникнет ошибка, и она завершится.

Чтобы считать с клавиатуры дробное число , нужна команда:

Эта команда полностью аналогична команде nextInt() , только она проверяет, что введенные данные можно преобразовать в число double .

Пример программы, которая считывает с клавиатуры два числа и выводит их сумму:

Пользователь может ввести несколько чисел в одной строке, разделив их пробелами: такая ситуация будет корректно обработана методами класса Scanner . Однако числа будут считаны программой только после того, как пользователь нажмет Enter .

Считай с клавиатуры три строки. А затем: 1. Выведи на экран третью строку в неизменном виде. 2. Выведи на экран вторую строку, предварительно преобразовав ее к верхнему регистру. 3. Выведи на экран первую строку, предварительно преобразовав ее к нижнему регистру. Пример ввода: Строка Номер РАЗ Втор Считай с клавиатуры три целых числа. Выведи на экран их среднее арифметическое. Пример ввода: 50 101 201 Пример вывода: 117 Среднее арифметическое - это число, равное сумме всех чисел, деленной на их количество. Используй деление без остатка.

6. Другие методы класса Scanner

Это, кстати, были не все методы класса Scanner . Полный список будет выглядеть примерно так:

Метод Описание
Считывает данные и преобразует их в тип byte
Считывает данные и преобразует их в тип short
Считывает данные и преобразует их в тип int
Считывает данные и преобразует их в тип long
Считывает данные и преобразует их в тип float
Считывает данные и преобразует их в тип double
Считывает данные и преобразует их в тип boolean
Считывает одно «слово». Слова разделяются пробелами или enter
Считывает целую строку

Есть еще методы, которые позволяют проверить тип еще не считанных данных (чтобы знать, каким методом их считывать).

Метод Описание
Там тип byte ? Его можно будет преобразовать к byte ?
Там тип short ? Его можно будет преобразовать к short ?
Там тип int ? Его можно будет преобразовать к int ?
Там тип long ? Его можно будет преобразовать к long ?
Там тип float ? Его можно будет преобразовать к float ?
Там тип double ? Его можно будет преобразовать к double ?
Там тип boolean ? Его можно будет преобразовать к boolean ?
Там есть еще одно слово?
Там есть еще одна строка?

7. Ввод данных из строки

Мы уже говорили выше, что класс Scanner умеет считывать данные из разных источников. И один из этих источников — строка текста .

Читайте также: