Postoje razni načini za učitavanje ulaza sa tastature, java.util.Scanner klasa je jedan od njih.
Java Scanner klasa deli ulaz u tokene koristeći ograničavač (delimiter) koji je po defaultu blank. Ona obezbeđuje mnoge metode za čitanje i parsiranje različitih primitivnih vrednosti.
Java Scanner klasa se mnogo koristi za parsiranje teksta za string i primitivne tipove pomoću regularnih izraza.
Java Scanner klasa nasleđuje Object klasu i implementira Iterator i Closeable interfejse.
Često korišćeni metodi Scanner klase
Ovo je lista često korišćenih metoda klase Scanner:
Primer Java Scanner-a za dobijanje ulaza sa konzole
Pogledajmo jednostavan primer Java Scanner klase koja čita int, string i double vrednost kao ulaz:
Primer Java Scanner-a sa delimiterom
Pogledajmo primer Scanner klase sa delimiterom. “\s” predstavlja blank.
Metod |
Opis |
public String next() | vraća sledeći token iz scanner-a. |
public String nextLine() | pomjera poziciju scanner-a na sljedeći red i vraća vrednost kao string. |
public byte nextByte() | skenira sledeći token kao byte. |
public short nextShort() | skenira sledeći token kao short vrednost. |
public int nextInt() | skenira sledeći token kao int vrednost. |
public long nextLong() | skenira sledeći token kao long vrednost. |
public float nextFloat() | skenira sledeći token kao float vrednost. |
public double nextDouble() | skenira sledeći token kao double vrednost. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 |
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 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
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 |