Java Scanner: работа с вводом данных в Java
Java Scanner - это класс, предоставляемый в Java для чтения ввода из различных источников, таких как файлы, строки и потоки. Он является частью библиотеки java.util и предоставляет удобные методы для обработки различных типов входных данных.
Одним из основных способов использования класса Scanner является чтение пользовательского ввода с консоли. Рассмотрим пример:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите ваше имя: ");
String name = scanner.nextLine();
System.out.println("Привет, " + name + "!");
System.out.println("Введите ваш возраст: ");
int age = scanner.nextInt();
System.out.println("Вам " + age + " лет.");
scanner.close();
}
}
В этом примере мы создаем экземпляр класса Scanner, который связывается с консолью (System.in). Затем мы запрашиваем у пользователя ввести имя, используя метод nextLine(), и сохраняем его в переменную name. После этого мы выводим приветственное сообщение, содержащее введенное имя.
Затем мы запрашиваем у пользователя ввести возраст, используя метод nextInt(), и сохраняем его в переменную age. После этого мы выводим сообщение с указанием введенного возраста.
Наконец, мы закрываем объект Scanner с помощью метода close() для освобождения ресурсов.
Однако Scanner можно использовать не только для чтения пользовательского ввода с консоли. Он также может считывать данные из файлов или строк. Рассмотрим примеры:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try {
File file = new File("input.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
} catch (FileNotFoundException e) {
System.out.println("Файл не найден.");
}
}
}
В этом примере мы создаем экземпляр класса File, указывая путь к файлу "input.txt". Затем мы создаем объект Scanner, связанный с этим файлом, и используем цикл while для чтения каждой строки из файла и ее вывода на консоль. В конце мы закрываем объект Scanner.
Также класс Scanner может использоваться для чтения данных из строки. Рассмотрим пример:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String data = "10 20 30 40 50";
Scanner scanner = new Scanner(data);
while (scanner.hasNextInt()) {
int number = scanner.nextInt();
System.out.println(number);
}
scanner.close();
}
}
В этом примере мы создаем объект Scanner, связанный со строкой "10 20 30 40 50". Затем мы используем цикл while и метод hasNextInt() для проверки наличия следующего целого числа в строке. Если число найдено, мы считываем его с помощью метода nextInt() и выводим на консоль.
В заключение, Java Scanner - мощный инструмент для обработки ввода в различных форматах. Он позволяет удобно считывать данные из консоли, файлов или строк и обрабатывать их в соответствии с требованиями вашей программы. Чтение ввода с помощью Scanner является важной частью каждого Java-разработчика, и его использование может значительно упростить создание программ с интерактивным вводом данных.