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