To take input from the user in Java, the Scanner class is used.
The Scanner class is a built-in class of the java.util package.
The Java Scanner class provides many built-in methods to take different types of user inputs from the users.
The following are the steps to use the Scanner class for user input in Java:
First, you need to import the Scanner class to use its methods.
To import the Scanner class, use the following import statement:
import java.util.ScannerAfter importing the Scanner class, you need to create its object to use its methods.
To create an object of the Scanner class, invoke the Scanner() constructor.
Below is the statement to create an object of the Scanner class:
Scanner sc = new Scanner(System.in);The Scanner class provides a variety of methods which are useful to take user input of different types.
For example, if you want to input an integer value, use the nextInt() method.
The following is the statement to take user input in Java:
int num = sc.nextInt();The above statement will wait for an integer input from the user.
When the user provides an integer value, that value will be assigned to the age variable.
In the following example, we are reading two integers from the user, calculating their sum, and printing the result:
// Importing the class
import java.util.Scanner;
public class AddTwoNumbers {
public static void main(String[] args) {
// Creating an object of Scanner class
Scanner sc = new Scanner(System.in);
// Reading two Integer numbers
// using nextInt() method
System.out.print("Enter the first number: ");
int num1 = sc.nextInt();
System.out.print("Enter the second number: ");
int num2 = sc.nextInt();
// Calculating the sum
int sum = num1 + num2;
// Printing the su
System.out.println("The sum of the two numbers is: " + sum);
}
}Enter the first number: 10
Enter the second number: 20
The sum of the two numbers is: 30The Scanner class provides different methods for different types of user inputs.
To explore all methods for different user inputs, look at the table below:
| Sr.No. | Method & Description |
|---|---|
| 1 | String next() This method finds and returns the next complete token from this scanner. |
| 2 | BigDecimal nextBigDecimal() This method scans the next token of the input as a BigDecimal. |
| 3 | BigInteger nextBigInteger() This method scans the next token of the input as a BigInteger. |
| 4 | boolean nextBoolean() This method scans the next token of the input into a boolean value and returns that value. |
| 5 | byte nextByte() This method scans the next token of the input as a byte. |
| 6 | double nextDouble() This method scans the next token of the input as a double. |
| 7 | float nextFloat() This method scans the next token of the input as a float. |
| 8 | int nextInt() This method scans the next token of the input as an int. |
| 9 | String nextLine() This method advances this scanner past the current line and returns the input that was skipped. |
| 10 | long nextLong() This method scans the next token of the input as a long. |
| 11 | short nextShort() This method scans the next token of the input as a short. |
The nextInt() method is used to take input of an integer from the user.
In the following example, we are taking an integer as an input:
// Importing the class
import java.util.Scanner;
public class IntegerInput {
public static void main(String[] args) {
// Creating an object of Scanner class
Scanner sc = new Scanner(System.in);
// Reading an Integer Input
System.out.print("Input an integer value: ");
int int_num = sc.nextInt();
System.out.print("The input is : " + int_num);
}
}Input an integer value: 101
The input is : 101The nextFloat() method is used to take input of a float value from the user.
In the following example, we are taking a float as an input:
// Importing the class
import java.util.Scanner;
public class IntegerInput {
public static void main(String[] args) {
// Creating an object of Scanner class
Scanner sc = new Scanner(System.in);
// Reading a Float Input
System.out.print("Input a float value: ");
float float_num = sc.nextFloat();
System.out.print("The input is : " + float_num);
}
}Input a float value: 12.345
The input is : 12.345The nextLine() method is used to take input of a string value from the user.
In the following example, we are taking a string as an input:
// Importing the class
import java.util.Scanner;
public class IntegerInput {
public static void main(String[] args) {
// Creating an object of Scanner class
Scanner sc = new Scanner(System.in);
// Reading a String Input
System.out.print("Input a string value: ");
String str = sc.nextLine();
System.out.print("The input is : " + str);
}
}Input a string value: Hello World
The input is : Hello World