В данном уроке мы рассмотрим как реализовать возможность считывания данных введенных пользователем в программе, для выполнения каких либо операций с ними.
Подключаем класс Scanner
Для считывания данных пользователя мы будем использовать класс Scanner,а для этого необходимо его подключить к нашему проекту, видя следующую строку import java.util.Scanner; перед названием нашего главного класса MyFirstProgram. Об импорте классов мы поговорим в будущих уроках, а пока просто запомните как это делается.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
package myfirstprogram; //подключаем класс Scanner к нашему проекту import java.util.Scanner; public class MyFirstProgram { public static void main(String[] args) { //создаем объект класса Scanner Scanner sc=new Scanner(System.in); } } |
листинг 5.1
Работа с классом Scanner
Теперь напишем простейшую программу с реализацией класса Scanner. В ней мы будем считывать информацию введенную пользователем и производить с ней различные манипуляции, в соответствии с их типом. Ведь типы данных мы уже с вами прошли, если кто то подзабыл, посмотрите предыдущие занятия. Если вы после sc. поставите точку то увидите все доступные методы класса Scanner. В листинге 5.2 описаны основные из них.
1 2 3 4 5 6 7 8 9 |
sc.nextByte(); //Работа sc.nextInt();//с sc.nextLong();//целочисленным sc.nextShort();//типом sc.nextLine();//Работа с строковым типом sc.nextFloat();//Работа с sc.nextDouble();//дробным типом |
листинг 5.2
После того как вы определились с каким типом ваше приложение будет работать, данные введенные пользователем, можно присвоить переменной, которую мы объявим в листинге 5.3. Главное не запутаться, так как переменная должна иметь тот тип который принимаем от пользователя, а так же пользователь должен вводить соответствующие тип принимаемой программы. Иначе произойдет ошибка в приложении.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
package myfirstprogram; import java.util.Scanner; public class MyFirstProgram { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //Производим присвоения переменным введенных данных //пользователем в соответствии с их типом byte b=sc.nextByte(); //Работа int i= sc.nextInt();//с long l=sc.nextLong();//целочисленным short s=sc.nextShort();//типом String st=sc.nextLine();//Работа с строковым типом float f=sc.nextFloat();//Работа с double d=sc.nextDouble();//дробным типом } } |
листинг 5.3
Принимает целочисленный тип.
После присвоения переменным данных введенных пользователем, мы можем с ними производить различные операции. Рассмотрим два примера работы с целочисленным типом и строковым типом. В листинге 5.4 пример работы приложения которое принимает от пользователя число 2 и суммирует его с число указанным в переменной i, результат суммы чисел выводит в консоль.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
package myfirstprogram; import java.util.Scanner; public class MyFirstProgram { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int i=9; int in= sc.nextInt();//с i=i+in; System.out.println("Сумма числе переменно i и пользователя равно= "+i); } } |
1 2 3 4 |
run: 2 Сумма числе переменно i и пользователя равно= 11 СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 17 секунды) |
листинг 5.4
Принимает строковый тип.
Теперь рассмотрим вариант работы со строковым типом описанным в листинге 5.5 . Для этого в приложение принимает строковый параметр от пользователя, и производим с ним операции. Наше приложении прости пользователя ввести названия города в котором он живет. После обработки информации, выводит в консоль «Ваш любимый город +название которое ввел пользователь».
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package myfirstprogram; import java.util.Scanner; public class MyFirstProgram { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //Выводим информацию, что бы пользователь ввел название //своего города System.out.println("Введите город в котором вы живете"); //присваиваем переменной st то что ввел пользовател String st=sc.nextLine();//Работа с строковым типом System.out.println("Ваш любимы город "+st); } } |
1 2 3 4 5 |
run: Введите город в котором вы живете Москва Ваш любимы город Москва СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 15 секунды) |
листинг 5.5
Домашнее задание.
- Посмотреть и реализовать самостоятельно все возможные методы класса Scanner.
- Прочитать о доступных методах класса Scanner.
- Написать приложение которое, просит ввести имя пользователя. На выходе должно получиться у вас следующее.
12345run:Введите ваше имяАндрейАндрей учиться программировать на JAVAСБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 6 секунды)
- Написать приложения, которое вычисляет произведения суммы чисел и выводить ответ в консоль. Это примитивный калькулятор своего рода, с возможность одного действия.