Чтение из консоли
[Чтение из консоли]
В этой статье мы разберёмся, как считывать информацию из консоли Консоль – это стандартный поток ввода-вывода. Чтобы читать данные из консоли, мы воспользуемся двумя разными классами из стандартной библиотеки Java.
Способ 1: Чтение из консоли с помощью System.in.read
Простейший способ чтения данных из консоли – это метод System.in.read(). Данный метод позволяет считывать данные по одному коду. Это блокирующий метод, то есть, вызвав его, выполнение программы продолжится только тогда, когда будет введён какой-либо символ в консоль:
int code = System.in.read();
char c = (char) code;
System.out.println("Вы ввели: " + c + ", код символа: " + code);
Это очень простой способ чтения из консоли и есть более удобные способы чтения.
Способ 2: Чтение из консоли с помощью Scanner
Класс java.util.Scanner предоставляет несколько удобных методов для чтения из консоли:
- hasNextInt() – вернёт true, если из консоли сейчас возможно вычитать целое число
- nextInt() – вычитает целое число из консоли
- hasNextDouble() – вернёт true, если из консоли сейчас возможно вычитать число типа double
- nextDouble() – вычитает вещественное число из консоли
- hasNextLine() – вернёт true, если из консоли возможно считать какие-либо символы
- nextLine() – вычитывает строку из консоли
Все эти методы являются блокирующими.
В данном примере мы проверяем, доступно ли в консоли целое число и если да, то снова выводим его в консоль:
Scanner scanner = new Scanner(System.in);
System.out.print("Введите целое число: ");
if (scanner.hasNextInt()) {
int i = scanner.nextInt();
System.out.println(i);
} else {
System.out.println("Вы ввели не целое число");
}
Аналогично используются методы hasNextDouble()/nextDouble() для вещественных чисел и методы hasNextLine()/nextLine() для строк.
Заключение
В данной статье мы разобрались, как вычитывать данные из стандартного потока вывода. Теперь вы знаете, как вычитать из консоли числа, символы и строки.
Исходный код
import java.io.IOException;
public class ReadFromConsoleIn {
public static void main(String[] args) throws IOException {
int code = System.in.read();
char c = (char) code;
System.out.println("Вы ввели: " + c + ", код символа: " + code);
}
}
public class ReadFromConsoleScanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите целое число: ");
if (scanner.hasNextInt()) {
int i = scanner.nextInt();
System.out.println(i);
} else {
System.out.println("Вы ввели не целое число");
}
}
}
Чтение из консоли
Один комментарий
Наталья Капустина
Эффективное чтение данных из консоли является ключевым навыком для многих Java-программистов. Рассмотренные в статье методы System.in.read() и Scanner предоставляют различные подходы к этой задаче. Важно помнить о блокирующей природе этих методов и выбирать подходящий в зависимости от требований конкретного сценария. Умение правильно читать и обрабатывать ввод пользователя из консоли открывает дверь к созданию более интерактивных и функциональных приложений на Java.