Java API - skanneriklass

Java Api Scanner Class



1, Skanneri klassi ülevaade

JDK5 kasutatakse hiljem kasutaja klaviatuuri sisestamiseks - lihtsaks tekstiskanneriks, mis saab tavalisi väljendeid kasutada põhitüüpide ja stringide sõelumiseks. Skanner kasutab eraldusrežiimi, et jagada sisend märgideks, mis vaikimisi vastavad tühimikule. Seejärel saate saadud märgi teisendamiseks erinevat tüüpi väärtuseks kasutada järgmist erinevat meetodit. 2, nüüd avalikuks kasutatav ehitusmeetod Skanner (allikas InputStream) Kui soovite määrata, kas järgmine string on lisatud, võite Xxx välja jätta. nextXxx () Hankige järgmine kirje. Xxx tähendus on sama, mis eelmises meetodis Xxx. 2) Vaikimisi kasutab skanner eraldajatena tühikuid, veokirjeid jne. 3) Näide: int-tüüpi meetodi kasutamine
avalik tõeväärtus hasNextInt () avalik int nextInt ()
public class ScannerDemo { public static void main(String[] args) { // Create object Scanner sc = new Scanner(System.in) // Get the data, first determine whether the input data matches the type of the received variable if (sc.hasNextInt()) { int x = sc.nextInt() System.out.println('x:' + x) } else { System.out.println('The data you entered is incorrect') } } }
4) Analüüsige kahe järgmise meetodi kooskasutust: public int nextInt () public String nextLine () Kui saate kõigepealt väärtuse ja seejärel saate stringi, on probleeme. Peamine põhjus: probleem uue rea sümboliga. probleem lahendatud: V: Pärast väärtuse saamist looge stringi saamiseks uus klaviatuuri sisestuse objekt. B: Võtke kõik andmed vastavalt stringile ja siis mis, mis on vastav teisendus.
public class ScannerDemo { public static void main(String[] args) { // Create object Scanner sc = new Scanner(System.in) // Get two values ​​of type int int a1 = sc.nextInt() int b1 = sc.nextInt() System.out.println('a:' + a1 + ',b:' + b1) System.out.println('-------------------') // Get two values ​​of type String String s1 = sc.nextLine() String s2 = sc.nextLine() System.out.println('s1:' + s1 + ',s2:' + s2) System.out.println('-------------------') // Get a string first, get an int value String s3 = sc.nextLine() int b2 = sc.nextInt() System.out.println('s1:' + s3 + ',b:' + b2) System.out.println('-------------------') // Get an int value first, get a string, get the data wrong int a2 = sc.nextInt() String s4 = sc.nextLine() System.out.println('a:' + a2 + ',s2:' + s4) System.out.println('-------------------') //Workaround: Define two Scanner objects to get the data twice int a = sc.nextInt() Scanner sc2 = new Scanner(System.in) String s = sc2.nextLine() System.out.println('a:' + a + ',s:' + s) } }

Kordustrükk: https://www.cnblogs.com/yangyquin/p/4934146.html