
import static java.lang.System.*;
import java.util.Scanner;

public class ScannerExamples 
{
    public static void main(String[] args) 
    {
       
       	// using a string
		out.println("The Scanner Class");
		out.println();
		out.println();
		out.println("Scanner Methods");
		out.println();
		out.println("next()       returns the next element in the Scanner object as a String");
		out.println("nextLine()   returns the next line in the Scanner object as a String");
		out.println();
		out.println("nextByte()   returns the next element in the Scanner object as a byte");
		out.println("nextShort()  returns the next element in the Scanner object as a short");
		out.println("nextInt()    returns the next element in the Scanner object as an int");
		out.println("nextLong()   returns the next element in the Scanner object as a long");
		out.println("nextFloat()  returns the next element in the Scanner object as a float");
		out.println("nextDouble() returns the next element in the Scanner object as a double");
		out.println();
		out.println();

		out.println("hasNext()       returns true if there is another element in the Scanner object");
		out.println("hasNextLine()   returns true if there is another line in the Scanner object");
		out.println();
		out.println("hasNextByte()   returns true if the next element in the Scanner object is a byte");
		out.println("hasNextShort()  returns true if the next element in the Scanner object is a short");
		out.println("hasNextInt()    returns true if the next element in the Scanner object is an int");
		out.println("hasNextLong()   returns true if the next element in the Scanner object is a long");
		out.println("hasNextFloat()  returns true if the next element in the Scanner object is a float");
		out.println("hasNextDouble() returns true if the next element in the Scanner object is a double");
		out.println();
		out.println();
		
       	Scanner scan = new Scanner("12 5 7");
       
        out.println("Scanner data="+"12 5 7");
       	out.println("first element="+scan.nextInt()); // prints out 12 
       	out.println("second element="+scan.nextInt()); // prints out 5 
       	out.println("third element="+scan.nextInt()); // prints out 7 
		out.println();
		out.println();

       	
       	scan = new Scanner("abc 5 xyz");
       
        out.println("Scanner data="+"abc 5 xyz");
       	out.println("first element="+scan.next()); // prints out abc 
       	out.println("second element="+scan.nextInt()); // prints out 5 
       	out.println("third element="+scan.next()); // prints out xyz
		out.println();
		out.println();


       	scan = new Scanner("12 xyz 7");
       
        out.println("Scanner data="+"12 xyz 7");
       	out.println("first element="+scan.nextInt()); // prints out 12
       	if (scan.hasNextInt()) 
       		out.println("second element="+scan.nextInt()); // this is skipped
       	else
       		out.println("second element="+scan.next()); // prints out xyz       		 
       	out.println("third element="+scan.nextInt()); // prints out 7
		out.println();
		out.println();
		
		
       	scan = new Scanner("12 5 7");
		
        out.println("Scanner data="+"12 5 7");
		int sum = 0;
		while (scan.hasNextInt())
		{
			int value = scan.nextInt();
			sum = sum + value;
			System.out.println("scan.nextInt() returned a "+value);
		}
		System.out.println("The sum of 12 5 7 is "+sum);
		out.println();
		out.println();
		

    }
}
