В данном уроке мы рассмотрим как реализовать возможность считывания данных введенных пользователем в программе, для выполнения каких либо операций с ними.
Подключаем класс Scanner
Для считывания данных пользователя мы будем использовать класс Scanner,а для этого необходимо его подключить к нашему проекту, видя следующую строку import java.util.Scanner; перед названием нашего главного класса MyFirstProgram. Об импорте классов мы поговорим в будущих уроках, а пока просто запомните как это делается.
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 описаны основные из них.
sc.nextByte(); //Работа sc.nextInt();//с sc.nextLong();//целочисленным sc.nextShort();//типом sc.nextLine();//Работа с строковым типом sc.nextFloat();//Работа с sc.nextDouble();//дробным типом
листинг 5.2
После того как вы определились с каким типом ваше приложение будет работать, данные введенные пользователем, можно присвоить переменной, которую мы объявим в листинге 5.3. Главное не запутаться, так как переменная должна иметь тот тип который принимаем от пользователя, а так же пользователь должен вводить соответствующие тип принимаемой программы. Иначе произойдет ошибка в приложении.
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, результат суммы чисел выводит в консоль.
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);
}
}
run: 2 Сумма числе переменно i и пользователя равно= 11 СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 17 секунды)
листинг 5.4
Принимает строковый тип.
Теперь рассмотрим вариант работы со строковым типом описанным в листинге 5.5 . Для этого в приложение принимает строковый параметр от пользователя, и производим с ним операции. Наше приложении прости пользователя ввести названия города в котором он живет. После обработки информации, выводит в консоль «Ваш любимый город +название которое ввел пользователь».
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);
}
}
run: Введите город в котором вы живете Москва Ваш любимы город Москва СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 15 секунды)
листинг 5.5
Домашнее задание.
- Посмотреть и реализовать самостоятельно все возможные методы класса Scanner.
- Прочитать о доступных методах класса Scanner.
- Написать приложение которое, просит ввести имя пользователя. На выходе должно получиться у вас следующее.
run: Введите ваше имя Андрей Андрей учиться программировать на JAVA СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 6 секунды)
- Написать приложения, которое вычисляет произведения суммы чисел и выводить ответ в консоль. Это примитивный калькулятор своего рода, с возможность одного действия.
