Java тілінде немесе басқа тілде бағдарламалау кезінде пайдаланушының кіріс ақпаратын пайдалану қажет болады. Java пайдаланушы ақпаратын алудың әр түрлі әдістерін ұсынады, бірақ ең кең тараған және ең қарапайым әдіс - бұл Сканер объектісін пайдалану.
Қадамдар
2 -ші әдіс 1: бейнелер
Қадам 1. Сканер класын импорттаңыз
Сіз импорттауды таңдай аласыз
java.util. Сканер
сынып немесе тұтас
java.util
пакет Сыныпты немесе буманы импорттау үшін кодтың басына келесі жолдардың бірін қосыңыз:
java.util. Scanner импорттау; // Бұл тек сканер класын импорттайды. java.util импорттау.*; // Бұл бүкіл java.util бумасын импорттайды.
2 -қадам. Жаңа сканер объектісін іске қосу арқылы
System.in
конструкторға кіріс ағыны.
System.in
- бұл қазірдің өзінде ашық және кіріс деректерін беруге дайын стандартты кіріс ағыны. Әдетте бұл ағын пернетақта кірісіне сәйкес келеді.
UserInputScanner сканері = жаңа сканер (System.in);
3 -қадам. Пайдаланушы енгізетін кіріс деректерін оқыңыз
Сканер класы жолдарды алумен қатар int, байт, short, long сияқты примитивтерді алуды қолдайды.
-
Міне, сканер класы арқылы қол жетімді бірнеше әдістер:
-
Байт оқу -
nextByte ()
-
Қысқа оқу -
nextShort ()
-
Int оқыңыз -
nextInt ()
-
Ұзақ оқу -
nextLong ()
-
Флот оқу -
nextFloat ()
-
Қос оқыңыз -
nextDouble ()
-
Логикалық оқыңыз -
nextBoolean ()
-
Толық сызықты оқу -
nextLine ()
-
Бір сөз оқу -
Келесі()
-
-
Әр түрлі енгізу түрлерін алу үшін сканер класының әр түрлі әдістерін қолданатын бағдарламаның мысалы:
java.util. Scanner импорттау; public class ScannerExample {public static void main (String args) {// Жаңа сканер сканерін іске қосыңыз userInputScanner = жаңа сканер (System.in); // test nextLine (); System.out.println («\ nСенің атың кім?»); Жол аты = userInputScanner.nextLine (); // test nextInt (); System.out.print («Сізде қанша мысық бар?»); int numberOfCats = userInputScanner.nextInt (); // test nextDouble (); System.out.print («Әмияныңызда қанша ақша бар? $»); double moneyInWallet = userInputScanner.nextDouble (); System.out.println («\ nСәлем» + аты + «! Сіздің әмияныңызда» + numberOfCats + (numberOfCats> 1? «Cat»: «cat») + «және $» + moneyInWallet + «бар. / N»); }}
2 -ші әдіс 2: Ерекшеліктерді өңдеу
Қадам 1. Енгізу ерекшеліктерін өңдеңіз
Ан
InputMismatchException
пайдаланушы сұралған түрге сәйкес келмейтін деректерді енгізген кезде тасталады. Мысалы, егер int сұралса, пайдаланушы String енгізсе, бағдарлама
InputMismatchException
және шығу. Бұл ерекшелікті жоюдың және оны шешудің бірнеше әдісі бар, осылайша сіздің бағдарламаңыз қатесіз болуы мүмкін.
2-қадам
InputMismatchException
.
java.util. InputMismatchException импорттау; java.util. Scanner импорттау; public class ScannerExample {public static void main (String args) {// Жаңа сканер сканерін іске қосыңыз userInputScanner = жаңа сканер (System.in); // test nextLine (); System.out.print («\ nСенің атың кім?»); Жол аты = userInputScanner.nextLine (); // test nextInt (); логикалық validInput = жалған; int numberOfCats = 0; while (! validInput) {System.out.print («Сізде қанша мысық бар?»); көріңіз {numberOfCats = userInputScanner.nextInt (); validInput = ақиқат; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // Testing nextDouble (); validInput = жалған; қос ақшаInWallet = 0,0; while (! validInput) {System.out.print («Әмияныңызда қанша ақша бар? $»); көріңіз {moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); validInput = true; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} System.out.println («\ nСәлем» + аты + «! Сізде әмияныңызда» + numberOfCats + (numberOfCats> 1? «Мысықтар»: «мысық») + «және $» + moneyInWallet + «бар. / n «); }}
Біз импорттауымыз керек екенін ескеріңіз
java.util. InputMismatchException
пайдалану үшін
InputMismatchException
Қосу
userInputScanner.nextLine ();
3 -қадам. Немесе, сканерден келесі жолдарды енгізу арқылы пайдаланушының кірісін ақымақ етіңіз
Осылайша, біз сканер қайтаратынның бәрі String нысаны болып табылатынына көз жеткізе аламыз және ешқандай ерекшеліктер жасамайды. Содан кейін жолдарды бүтін санға немесе қосарлыға түрлендіру үшін біз Integer және Double wrapper сыныптарын қолдана аламыз.
java.util. Scanner импорттау; public class ScannerExample {public static void main (String args) {// Жаңа сканер сканерін іске қосыңыз userInputScanner = жаңа сканер (System.in); // test nextLine (); System.out.print («\ nСенің атың кім?»); Жол аты = userInputScanner.nextLine (); // test nextInt (); логикалық validInput = жалған; int numberOfCats = 0; while (! validInput) {System.out.print («Сізде қанша мысық бар?»); Жол енгізу = userInputScanner.nextLine (); көріңіз {numberOfCats = Integer.parseInt (енгізу); validInput = true; } catch (NumberFormatException e) {validInput = false; }} // NextDouble тестілеу (); validInput = жалған; қос ақшаInWallet = 0,0; while (! validInput) {System.out.print («Әмияныңызда қанша ақша бар? $»); Жол енгізу = userInputScanner.nextLine (); көріңіз {moneyInWallet = Double.parseDouble (енгізу); validInput = true; } catch (NumberFormatException e) {validInput = false; }} System.out.println («\ nСәлем» + аты + «! Сізде әмияныңызда» + numberOfCats + (numberOfCats> 1? «Мысықтар»: «мысық») + «және $» + moneyInWallet + «бар. / n «); }}
Назар аударыңыз, мұнда бізге импорттау қажет болмады
NumberFormatException
Сонымен қатар буферді тазалаудың қажеті жоқ
userInputScanner.nextLine ();
Кеңестер
- Сканер класын пайдалану туралы қосымша ақпарат алу үшін Scanner API қараңыз.
- Келесі сөзді оқу үшін.nextLine () орнына әрқашан.next () пайдаланыңыз, себебі.nextLine () қате болуы мүмкін.