SCANNER CLASS

The Scanner
A Scanner object can parse user input entered on the console or from. A Scanner breaks its input into separate tokens (which are typically separated by white space), and then returns them one at a time.
The scanner provides methods to convert the tokens into values of different types. For example,this code reads two numbers from the console and prints their sum:
 
1
2
3
4
Scanner in = new Scanner(System.in);
int i = in.nextInt();
int j = in.nextInt();
System.out.println(i+j);
 
The scanner also provides methods to test whether there is any input left, and if there is, what type of token appears next.
This functionality is provided throughmethods like hasNextInt, hasNextDouble. For example, the following code reads integers and adds them up until there is no more input or a non-numeric token is encountered:
 
1
2
3
4
Scanner in = new Scanner(System.in);
int sum = 0;
while (in.hasNextInt()) {
sum += in.nextInt();

Creating Scanners

Whenever using scanners, be sure to include the proper import line:
import java.util.Scanner;
We will create scanners in two ways:
1. To read from the console, use the following:

1
Scanner input = new Scanner(System.in);

2. To read from a console, use the following:

1
Scanner input = new Scanner(new FileStream("filename.txt"));

Scanner Methods

Method                     Computes
nextBoolean() reads and converts next token to a boolean value
nextInt() reads and converts next token to a integer value
nextLong() reads and converts next token to a long value
nextDouble() reads and converts next token to a double value
nextString() reads next token and returns it as a String
nextLine() reads until the next new line and returns a String
hasNextBoolean() returns true iff the next token is either “true” or “false”
hasNextInt() returns true iff the next token is an integer
hasNextLong() returns true iff the next token is a long
hasNextDouble() returns true iff the next token is a real number
hasNextString() returns true iff there is at least one more token of input
hasNextLine() returns true iff there is another line of input