Objektno orijentisano programiranje Scanner izvod iz Scanner html
Objektno orijentisano programiranje Scanner (izvod iz Scanner. html)
Mesto u hijerarhiji klasa Nalazi se u paketu java. util Nasleđuje klasu java. lang. Object Koristi se za parsiranje primitivnih tipova i stringova Rastavlja svoj ulaz na tokene, pri čemu za podrazumevani delimiter smatra beline ( ’ ’, ’n’, ’t’, itd. ) Rezultujući tokeni se mogu konvertovati u vrednosti različitih tipova koristeći razne next metode
Primer čitanja narednog celog broja iz System. in Scanner sc = new Scanner(System. in); int i = sc. next. Int(); Primer čitanja celih brojeva tipa long iz datog fajla, sve dok ih ima: Scanner sc = new Scanner(new File(”my. Numbers”)); while(sc. has. Next. Long()) long a. Long=sc. next. Long(); analogno za neki drugi primitivni tip (umesto long-a )
Primer Može se čitati i iz stringa: String input = ” 1 2 java san”; Scanner s = new Scanner(input); System. out. println(s. next. Int()); System. out. println(s. next()); // 1 // 2 // java // san Metodom use. Delimiter() može se postaviti proizvoljni delimiter ( umesto belina )
next*(), has. Next*() metodi next(), has. Next(), next. Int(), has. Next. Int() i drugi next- i has. Next- metodi ( za ostale primitivne tipove (Boolean, Double, Float, . . . ) najpre preskaču karaktere sa ulaza koji odgovaraju delimiterima, a zatim pokušavaju da vrate naredni token Metodi find. In. Line() i find. Within. Horizon() traže zadati pattern ne uzimajući u obzir delimitere (pročitati više u Scanner. html)
Neodgovarajući token Kada scanner izbaci izuzetak tipa Input. Mismatch. Exception, on neće proslediti token koji je izazvao izuzetak, tako da se on može dobiti ili preskočiti primenom nekog drugog metoda! U zavisnosti od toga šta je delimiter, mogu biti vraćeni i prazni tokeni (Scanner može čitati iz proizvoljnog objekta koji implementira Readable interfejs i on pretpostavlja da se došlo do kraja ulaza kada se izbaci izuzetak tipa IOException )
Konstruktori – najznačajniji predstavnici ● ● ● public Scanner(Input. Stream source) public Scanner(File source) public Scanner(String source)
Metodi - najznačajniji public boolean has. Next(); vraća true ako postoji naredni token na ulazu public String next(); pronalazi i vraća ceo naredni token. ”Ceo” token je okružen delimiterima ( i ispred i iza njega su delmiteri ) public boolean has. Next(String pattern); vraća true ako naredni token odgovara pattern-u konstruisanom od datog stringa
metodi - nastavak public String next(String pattern); vraća naredni token ako on odgovara pattern-u konstruisanom od zadatog stringa public boolean has. Next. Line(); vraća true ako postoji naredna linija na ulazu public String next. Line(); vraća ostatak tekuće linije isključujući oznaku za kraj reda sa njenog kraja
metodi – nastavak public Scanner skip(String pattern); preskače ulaz koji odgovara pattern-u konstruisanom od zadatog stringa, ignorišući delimitere. skup metoda next*() i has. Next*() gde se umesto * nalazi (Int, Double, Float, Short, Long, Byte, Boolean ) - jasno je na osnovu imena šta rade Pročitati iz Scanner. html kada svi navedeni metodi izbacuju izuzetke i kojih tipova, kao i kada i koliko napreduju na ulazu
- Slides: 10