Введение в пользовательский ввод Java

В программе Java есть 3 способа, которыми мы можем прочитать ввод от пользователя в среде командной строки, чтобы получить ввод пользователя, класс Java BufferedReader, класс Java Scanner Class и класс консоли. Давайте обсудим классы в деталях. Мы используем класс Scanner для получения пользовательского ввода. Эта программа просит пользователя ввести целое число, строку и число с плавающей точкой, и оно будет напечатано на дисплее. Класс сканера в java.util присутствует, чтобы мы могли добавить этот пакет в наше программное обеспечение. Сначала мы создаем объект класса сканера и используем метод класса сканера.

3 способа пользовательского ввода Java

Есть три способа прочитать пользовательский ввод:

  1. Класс Java BufferedReader.
  2. Класс сканера Java.
  3. Используя консольный класс.

Эти три класса упомянуты ниже, давайте обсудим это подробно:

1. Java BufferedReader Класс

Это расширяет класс читателя. BufferedReader считывает ввод из потока ввода символов и буферизует символы, чтобы обеспечить эффективное чтение всех вводимых данных. Размер по умолчанию большой для буферизации. Когда пользователь делает какой-либо запрос на чтение, соответствующий запрос направляется читателю, и он делает запрос на чтение символьных или байтовых потоков, таким образом, класс BufferedReader оборачивается вокруг других входных потоков, таких как FileReader или InputStreamReaders.

Например:

BufferedReader reader = new BufferedReader(new FileReader(“foo.in”));
BufferedReader can read data line by line using method readLine() method.
BuffredReader can make the performance of code faster.

Конструкторы

BufferedReader имеет два конструктора следующим образом:

1. BufferedReader (Читатель читатель)

Используется для создания буферизованного входного потока символов, который использует размер буфера ввода по умолчанию.

2. BufferedReader (ридер ридер, размер ввода)

Используется для создания буферизованного входного потока символов, который использует размер, предоставленный для входного буфера.

функции
  • int read: Используется для чтения одного символа.
  • int read (char () cbuffer, int offset, int length): используется для чтения символов в указанной части массива.
  • String readLine (): используется для чтения входных данных построчно.
  • boolean ready (): используется для проверки готовности буфера ввода к чтению.
  • long skip: используется для пропуска символов.
  • void close (): закрывает буфер входного потока и системные ресурсы, связанные с потоком.

Когда пользователь вводит символ с клавиатуры, он читается буфером устройства, а затем из System.in передается буферизованному считывателю или считывателю входного потока и сохраняется в буфере ввода.

Код:

import java.util.*;
import java.lang.*;
import java.io.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*package whatever //do not write package name here */
class BufferedReaderDemo (
public static void main (String() args) throws NumberFormatException, IOException (
System.out.println("Enter your number");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
System.out.println("Number you entered is: " + t);
System.out.println("Enter your string");
String s = br.readLine();
System.out.println("String you entered is: " + s);
)
)

Выход:

Программа с чтением из InputStreamReader и BufferedReader:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderDemo (
public static void main(String args()) throws IOException(
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reader);
System.out.println("What is your name?");
String name=br.readLine();
System.out.println("Welcome "+name);
)
)

Выход:

2. Класс сканера Java

Класс java.util.scanner является одним из классов, используемых для чтения пользовательского ввода с клавиатуры. Он доступен в пакете утилит. Классы сканера прерывают пользовательский ввод, используя разделитель, который по умолчанию является в основном пробелами. У сканера есть много методов для чтения консольного ввода многих примитивных типов, таких как double, int, float, long, Boolean, short, byte и т. Д. Это самый простой способ получить ввод в java. Класс Scanner реализует интерфейсы Iterator и Closeable. Сканер предоставляет nextInt () и многие методы примитивных типов для чтения входных данных примитивных типов. Метод next () используется для строковых входов.

Конструкторы
  • Сканер (источник файла): он создает сканер для чтения из указанного файла.
  • Сканер (Источник файла, String charsetName): он создает сканер для чтения из указанного файла.
  • Scanner (источник InputStream), Scanner (источник InputStream, String charsetName): создает сканер для чтения из указанного входного потока.
  • Scanner (0Readable source): он создает сканер для чтения из указанного читаемого источника.
  • Scanner (String source): создает сканер для чтения из указанного строкового источника.
  • Сканер (источник ReadableByteChannel): он создает сканер для чтения из указанного источника канала.
  • Сканер (источник ReadableByteChannel, String charsetName): он создает сканер для чтения из указанного источника канала.
функции

Ниже упоминается метод для сканирования типов примитивов из консольного ввода через класс Scanner.

  • nextInt (),
  • nextFloat (),
  • nectDouble (),
  • nextLong (),
  • nextShort (),
  • nextBoolean (),
  • nextDouble (),
  • nextByte (),

Программа для чтения из класса сканера:

Using scanner class.
import java.util.Scanner;
/*package whatever //do not write package name here */
class ScannerDemo (
public static void main (String() args) (
Scanner sc = new Scanner(System.in);
System.out.println("Enter your number");
int t = sc.nextInt();
System.out.println("Number you entered is: " + t);
System.out.println("Enter your string");
String s = sc.next();
System.out.println("String you entered is: " + s);
)
)

Выход:

3. Использование консольного класса

Использование консольного класса для чтения ввода из интерфейса командной строки. Это не работает на IDE.

Код:

public class Main
(
public static void main(String() args)
(
// Using Console to input data from user
System.out.println("Enter your data");
String name = System.console().readLine();
System.out.println("You entered: "+name);
)
)

Выход:

Рекомендуемые статьи

Это руководство по пользовательскому вводу Java. Здесь мы обсуждаем 3 способа, которыми мы можем прочитать пользовательский ввод Java от пользователя в среде командной строки. Эта статья дает вам общее представление обо всех входах, которые вы можете исследовать с помощью Java. Вы также можете посмотреть на следующую статью.

  1. Переопределение в Java
  2. SpringLayout в Java
  3. JFrame в Java
  4. Класс Wrapper в Java