Java Tutorial

Java Control Statements

Object Oriented Programming

Java Built-in Classes

Java File Handling

Java Error & Exceptions

Java Multithreading

Java Synchronization

Java Networking

Java Collections

Java Interfaces

Java Data Structures

Java Collections Algorithms

Advanced Java

Java Miscellaneous

Java APIs & Frameworks

Java Class References

Java Useful Resources

Java - User Input



User Input in Java

To take input from the user in Java, the Scanner class is used. The Scanner class a built-in class of java.util package.

Java Scanner class provides many built-in methods to take different types of user inputs from the users.

How to Use Scanner Class to Take User Input?

The following are the steps to use Scanner class for the user input in Java −

Step 1: Import Scanner Class

Fist you need to import the Scanner class to use its methods. To import the Scanner class, use the following import statement −

import java.util.Scanner 

Step 2: Create Scanner Class's Object

After importing the Scanner class, you need to create its object to use its methods. To create an object of the Scanner class, invoke Scanner() constructor.

Below is the statement to create an object of Scanner class −

Scanner obj = new Scanner(System.in);

Step 3: Take User Input

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 nextInt() method.

The following is the statement to take user input in Java −

int age = obj.nextInt();

The above statement will wait for an integer input from the user. When user provides an integer value, that will be assign to "age" variable.

Example of User Input in Java

In the following example, we are reading two integers from the user, calculating, and printing their addition −

// 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);
   }
}

Output

Enter the first number: 10
Enter the second number: 20
The sum of the two numbers is: 30

Methods for Different Types of User Inputs

The Scanner class provides different methods for the 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.

Integer Input from the User

The nextInt() method is used to take input of an integer from the user.

Example

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);
   }
}
Output
Input an integer value: 101
The input is : 101

Float Input from the User

The nextFloat() method is used to take input of a float value from the user.

Example

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);
   }
}
Output
Input a float value: 12.345
The input is : 12.345

String Input from the User

The nextLine() method is used to take input of a float value from the user.

Example

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);
   }
}
Output
Input a string value: Hello World
The input is : Hello World
Advertisements