34. Klasa Java Scanner

Postoje razni načini za učitavanje ulaza sa tastature, java.util.Scanner klasa je jedan od njih.
Java Scanner klasa dijeli ulaz u tokene koristeći ograničavač (delimiter) koji je po defaultu blank. Ona obezbjeđuje mnoge metode za čitanje i parsiranje različitih primitivnih vrijednosti.
Java Scanner klasa se mnogo koristi za parsiranje teksta za string i primitivne tipove pomoću regularnih izraza.
Java Scanner klasa nasljeđuje Object klasu i implementira Iterator i Closeable interfejse.
Često korišteni metodi Scanner klase
Ovo je lista često korištenih metoda klase Scanner:


Metod

Opis

public String next()

vraća sljedeći token iz scanner-a.

public String nextLine()

pomjera poziciju scanner-a na sljedeći red i vraća vrijednost kao string.

public byte nextByte()

skenira sljedeći token kao byte.

public short nextShort()

skenira sljedeći token kao short vrijednost.

public int nextInt()

skenira sljedeći token kao int vrijednost.

public long nextLong()

skenira sljedeći token kao long vrijednost.

public float nextFloat()

skenira sljedeći token kao float vrijednost.

public double nextDouble()

skenira sljedeći token kao double vrijednost.

Primjer Java Scanner-a za dobijanje ulaza sa konzole
Pogledajmo jednostavan primjer Java Scanner klase koja čita int, string i double vrijednost kao ulaz:

import java.util.Scanner;  
class ScannerTest{  
 public static void main(String args[]){  
   Scanner sc=new Scanner(System.in);  
     
   System.out.println("Enter your rollno");  
   int rollno=sc.nextInt();  
   System.out.println("Enter your name");  
   String name=sc.next();  
   System.out.println("Enter your fee");  
   double fee=sc.nextDouble();  
   System.out.println("Rollno:"+rollno+" name:"+name+" fee:"+fee);  
   sc.close();  
 }  
}

Ispis na ekranu:
Enter your rollno
111
Enter your name
Petar
Enter your fee
450000
Rollno:111 name: Petar fee: 450000

Primjer Java Scanner-a sa delimiterom
Pogledajmo primjer Scanner klase sa delimiterom. \s predstavlja blank.

import java.util.*;  
public class ScannerTest2{  
public static void main(String args[]){  
     String input = "10 tea 20 coffee 30 tea biscuits";  
     Scanner s = new Scanner(input).useDelimiter("\\s");  
     System.out.println(s.nextInt());  
     System.out.println(s.next());  
     System.out.println(s.nextInt());  
     System.out.println(s.next());  
     s.close();   
 }  
}

Ispis na ekranu:
10
tea
20
coffee

Objektno orijentisano programiranje u Javi    Index