How to get the user input in Java? How to get the user input in Java? java java

How to get the user input in Java?


One of the simplest ways is to use a Scanner object as follows:

import java.util.Scanner;Scanner reader = new Scanner(System.in);  // Reading from System.inSystem.out.println("Enter a number: ");int n = reader.nextInt(); // Scans the next token of the input as an int.//once finishedreader.close();


You can use any of the following options based on the requirements.

Scanner class

import java.util.Scanner; //...Scanner scan = new Scanner(System.in);String s = scan.next();int i = scan.nextInt();

BufferedReader and InputStreamReader classes

import java.io.BufferedReader;import java.io.InputStreamReader;//...BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String s = br.readLine();int i = Integer.parseInt(s);

DataInputStream class

import java.io.DataInputStream;//...DataInputStream dis = new DataInputStream(System.in);int i = dis.readInt();

The readLine method from the DataInputStream class has been deprecated. To get String value, you should use the previous solution with BufferedReader


Console class

import java.io.Console;//...Console console = System.console();String s = console.readLine();int i = Integer.parseInt(console.readLine());

Apparently, this method does not work well in some IDEs.


You can use the Scanner class or the Console class

Console console = System.console();String input = console.readLine("Enter input:");