Blog_Banner_Asset
    Homebreadcumb forward arrow iconBlogbreadcumb forward arrow iconFull Stack Developmentbreadcumb forward arrow iconMultiple String Input In Java Using Scanner [With Coding Example]

Multiple String Input In Java Using Scanner [With Coding Example]

Last updated:
5th Feb, 2021
Views
Read Time
6 Mins
share image icon
In this article
Chevron in toc
View All
Multiple String Input In Java Using Scanner [With Coding Example]

In java.util package, the scanner is one of the classes that help in collecting multiple inputs of the primitive types such as double, integer, strings, etc. Though it is not an efficient way of reading inputs in a Java program where time acts as a constraint, it is undoubtedly one of the easiest ways to collect multiple inputs from the user. 

This article aims to share practical insights and methods for using the Scanner class to capture multiple inputs seamlessly. By exploring techniques such as the Java nextLine() method, as well as nextInt() and nextDouble() methods, I hope to equip you with the knowledge to implement these strategies effectively in your projects. As we dive into these methods, the goal is to provide a comprehensive guide that will improve your ability to develop dynamic Java applications through proficient input handling. 

Check out our free courses to get an edge over the competition.

Explore Our Software Development Free Courses

Methods for Taking Multiple Inputs Using Scanner

You must import java.util package in a program before using the Scanner class. The following table lists the methods used to take multiple inputs of different types from the user in a Java program.

Ads of upGrad blog
MethodInputs
nextInt()Integer
nextFloat()Float
nextDouble()Double
nextLong()Long
nextShort()Short
next()Single-word
nextLine()Line of Strings
nextBoolean()Boolean

Check out upGrad’s Java Bootcamp

Using Java nextLine() Method

The java.util.Scanner.nextLine() method returns the line that was skipped by advancing the scanner past the current line. If a line separator is given at the end of the current line, this method excludes it and returns the string’s rest from the current line. The scanner is set at the next line beginning and reads the entire string, including the words’ white spaces.

The syntax for nextLine() method is as follows:

Public String nextLine()

This method throws the following two exceptions:

  • NoSuchElementException – If the string is empty or no line is found.
  • IllegalStateException – If the scanner is closed.

Check out upGrad’s Full Stack Development Bootcamp (JS/MERN)

Example

The following example demonstrates how java.util.Scanner.nextLine() method collects multiple inputs from the user.

import java.util.Scanner; 

public class SacnnerDemoMultipleString 

public static void main(String[] args)  

Scanner demo = new Scanner(System.in); 

System.out.print(“Please enter multiple inputs you want to print: “);  

//takes an integer input    

String[] string = new String [demo.nextInt()]; 

//consuming the <enter> from input above 

demo.nextLine();  

for (int i = 0; i < string.length; i++)  

string[i] = demo.nextLine(); 

System.out.println(“\nYou have entered the following input: “); 

//for-each loop to print the string 

for(String str: string)  

System.out.println(str);

// close the scanner

scanner.close();

The above program will print the following output

Please enter multiple inputs you want to print:  7

Misha

Harry

Robert

Harvey

Jill

Rachel

Jennifer

You have entered the following input:

Misha

Harry

Robert

Harvey

Jill

Rachel

Jennifer

Using Java nextInt() Method

The java.util.Scanner.nextInt() method scans the input provided by the user as an integer. If an integer is found, then the scanner advances past the matched input.

The syntax for nextInt() method is as follows:

Public int nextInt()

This method throws the following three exceptions:

  • InputMismatchException – If the next token does not match the integer regular expression or if the next token is out of the range.
  • NoSuchElementException – If the input is exhausted.
  • IllegalStateException – If the scanner is closed.

Example

The following example demonstrates how java.util.Scanner.nextInt() method collects multiple inputs from the user.

// Java program to scan integer using Scanner

// class and print their mean.

import java.util.Scanner;

public class ScannerDemoInteger

{

public static void main(String[] args)

{

 Scanner demo = new Scanner(System.in);

// Initialize sum and count of input elements

 int sum = 0, count = 0; 

// Check if an integer value is present

while (demo.hasNextInt())

 {

// Scan an integer value

int num = demo.nextInt();

sum += num;

count++;

 }

int mean = sum / count;

System.out.println(“Mean: ” + mean);

}

}

The above program is fed with the following input:

101

223

238

892

99

500

728

The above program will print the following output:

Mean: 397

Also Read:  Java MVC Project 

Explore our Popular Software Engineering Courses

upGrad’s Exclusive Software and Tech Webinar for you –

SAAS Business – What is So Different?

 

Using Java nextDouble() Method

The java.util.Scanner.nextDouble() method scans the input provided by the user as a double. If a float regular expression is found, then the scanner advances past the matched input.

The syntax for nextInt() method is as follows:

public double nextDouble()

This method throws the following three exceptions:

  • InputMismatchException – If the next token does not match the float regular expression or if the next token is out of the range.
  • NoSuchElementException – If the input is exhausted.
  • IllegalStateException – If the scanner is closed.

Example

The example demonstrates how java.util.Scanner.nextDouble() method collects multiple inputs from the user.

// Java program to scan float using Scanner

import java.util.Scanner;

public class ScannerDoubleRegularExpression {

public static void main(String[] args) {

String new = “Good Morning! 3 + 3.0 = 6 true”;

// write a new scanner object with the specified String Object

Scanner demo = new Scanner(s);

 // use US locale to be able to identify doubles in the string

demo.useLocale(Locale.US);

// search the next double token and print it

while (demo.hasNext()) {

// if the next is a double, print found and the float regular expression

if (demo.hasNextDouble()) {

 System.out.println(“Found :” + demo.nextDouble());

 }

// if a double regular expression is not found, print “Not Found” and the token

System.out.println(“Not Found :” + demo.next());

 }

// close the scanner

scanner.close();

}

}

The above program will result in the following output:

Not Found: Good

Not Found: Morning!

Found: 3.0

Not Found: +

Found: 3.0

Not Found: =

Found: 6.0

Ads of upGrad blog

Not Found: true

Learn Software Development Courses online from the World’s top Universities. Earn Executive PG Programs, Advanced Certificate Programs, or Masters Programs to fast-track your career.

Conclusion

Mastering multiple string input in Java using a scanner is a fundamental skill for Java developers, enhancing the versatility and interactivity of Java applications. This article has demonstrated efficient methods to capture multiple inputs using the Scanner class, including the use of nextLine(), nextInt(), and nextDouble() methods. Each method serves a unique purpose, catering to different data types and ensuring that Java developers can handle user inputs with precision and ease. By integrating these techniques into Java programming, developers can build more dynamic, user-friendly applications. It is imperative for practitioners to understand these methods thoroughly to manage input in Java applications effectively. As we have seen, the Scanner class provides a straightforward and powerful toolset for dealing with multiple string inputs, showcasing the strength and flexibility of Java for handling diverse user input scenarios. 

For example, the codes given in this blog are the purpose and can be modified as per an individual’s needs. If you’re interested to learn more about Java & full-stack software development, check out upGrad & IIIT-B’s Executive PG Program in Full-stack Software Development which is designed for working professionals and offers 500+ hours of rigorous training, 9+ projects, and assignments, IIIT-B Alumni status, practical hands-on capstone projects & job assistance with top firms.

Profile

Rohan Vats

Blog Author
Software Engineering Manager @ upGrad. Passionate about building large scale web apps with delightful experiences. In pursuit of transforming engineers into leaders.

Frequently Asked Questions (FAQs)

1What is Scanner class in Java?

The Scanner class lets you read values from the keyboard without using Java's console input. Java's console input is slow, and so is its redirection. Scanner is faster and more convenient, so Scanner should be used in place of Java's console input. Scanner uses Java's regular input stream, so it can be chained with other parsers. Scanner is also easier to use than Java's console input. Scanner has three main subclasses, namely, BufferedReader, InputStreamReader, and FileReader. The most general one is BufferedReader. BufferedReader can read anything that can be read by InputStreamReader, and it has one big advantage: buffer. The buffer can hold one line at a time. An input stream has no buffer at all: when you call next(), it returns the value. This means you have to collect the values before you can do anything with them. Scanner does it for you.

2What is a string builder in Java?

A string builder is a new type of class to create a string. The string builder class is introduced in Java from 1.3 version. It allows you to create a string by concatenating a number of strings and will automatically resize itself as you add more strings to it. Compared to string concatenation, using string builder is faster and flexible, though it's less readable. StringBuilder objects are objects that are used to create String values. StringBuilder objects have a number of methods.

3What is an InputStreamReader in Java?

InputStreamReader reads a stream of characters from an input stream and decodes them into a specified character encoding. It provides an easy way to convert character streams from one encoding to another. InputStreamReader reads bytes from the underlying stream and converts them into characters using the specified charset encoding. It is a class that is used to convert byte stream data into character stream data. Byte stream represent binary data and character stream represent text.

Explore Free Courses

Suggested Blogs

Top 7 Node js Project Ideas &#038; Topics
31379
Node.JS is a part of the famous MEAN stack used for web development purposes. An open-sourced server environment, Node is written on JavaScript and he
Read More

by Rohan Vats

05 Mar 2024

How to Rename Column Name in SQL
46802
Introduction We are surrounded by Data. We used to store information on paper in enormous file organizers. But eventually, we have come to store it o
Read More

by Rohan Vats

04 Mar 2024

Android Developer Salary in India in 2024 [For Freshers &#038; Experienced]
901161
Wondering what is the range of Android Developer Salary in India? Software engineering is one of the most sought after courses in India. It is a reno
Read More

by Rohan Vats

04 Mar 2024

7 Top Django Projects on Github [For Beginners &amp; Experienced]
51396
One of the best ways to learn a skill is to use it, and what better way to do this than to work on projects? So in this article, we’re sharing t
Read More

by Rohan Vats

04 Mar 2024

Salesforce Developer Salary in India in 2024 [For Freshers &#038; Experienced]
908735
Wondering what is the range of salesforce salary in India? Businesses thrive because of customers. It does not matter whether the operations are B2B
Read More

by Rohan Vats

04 Mar 2024

15 Must-Know Spring MVC Interview Questions
34600
Spring has become one of the most used Java frameworks for the development of web-applications. All the new Java applications are by default using Spr
Read More

by Arjun Mathur

04 Mar 2024

Front End Developer Salary in India in 2023 [For Freshers &#038; Experienced]
902285
Wondering what is the range of front end developer salary in India? Do you know what front end developers do and the salary they earn? Do you know wh
Read More

by Rohan Vats

04 Mar 2024

Method Overloading in Java [With Examples]
25919
Java is a versatile language that follows the concepts of Object-Oriented Programming. Many features of object-oriented programming make the code modu
Read More

by Rohan Vats

27 Feb 2024

50 Most Asked Javascript Interview Questions &#038; Answers [2024]
4047
Javascript Interview Question and Answers In this article, we have compiled the most frequently asked JavaScript Interview Questions. These questions
Read More

by Kechit Goyal

26 Feb 2024

Schedule 1:1 free counsellingTalk to Career Expert
icon
footer sticky close icon