Javaда колдонуучудан кантип маалымат алса болот (сүрөттөрү менен)

Мазмуну:

Javaда колдонуучудан кантип маалымат алса болот (сүрөттөрү менен)
Javaда колдонуучудан кантип маалымат алса болот (сүрөттөрү менен)

Video: Javaда колдонуучудан кантип маалымат алса болот (сүрөттөрү менен)

Video: Javaда колдонуучудан кантип маалымат алса болот (сүрөттөрү менен)
Video: Адвокат Франческо Катания: смотрит одно из своих прямых выступлений Сцены из повседневной жизни от ‎ 2024, Май
Anonim

Java же башка тилде программалоодо, балким, колдонуучунун киргизүү маалыматын колдонуу керек болот. Java колдонуучунун маалыматын алуу үчүн ар кандай ыкмаларды сунуштайт, бирок эң кеңири таралган жана балким эң оңой ишке ашкан ыкма - Сканер объектин колдонуу.

Кадамдар

Метод 1 ичинен 2: Видеолор

1514756 1
1514756 1

Кадам 1. Сканер классын импорттоо

Сиз импорттоону тандай аласыз

java.util. Scanner

класс же бүтүндөй

java.util

пакет Классты же пакетти импорттоо үчүн кодуңуздун башына төмөнкү саптардын бирин кошуңуз:

    java.util. Scanner импорттоо; // Бул жөн гана Сканер классын импорттойт. java.util импорттоо.*; // Бул java.util пакетин толугу менен импорттойт.

1514756 2
1514756 2

Кадам 2. Өткөрүү менен жаңы сканер объектин баштоо

System.in

конструкторго киргизүү агымы.

System.in

стандарттык киргизүү агымы мурунтан эле ачык жана киргизүү маалыматын берүүгө даяр. Адатта бул агым клавиатура киришине туура келет.

    Сканер userInputScanner = жаңы сканер (System.in);

1514756 3
1514756 3

Кадам 3. Колдонуучу киргизген маалыматтарды ар кандай түрдө окуңуз

Сканер классы саптарды алуудан тышкары int, байт, short, long сыяктуу примитивдерди алууну колдойт.

  • Бул жерде сканер классы аркылуу жеткиликтүү болгон кээ бир ыкмалар:

    • Бир байт окуу -

      nextByte ()

    • Кыскача окуу -

      nextShort ()

    • Int окуу -

      nextInt ()

    • Узак оку -

      nextLong ()

    • Флотту окуу -

      nextFloat ()

    • Кош окуу -

      nextDouble ()

    • Логиканы окуу -

      nextBoolean ()

    • Толук сапты окуу -

      nextLine ()

    • Бир сөздү окуу -

      кийинки ()

  • Бул жерде ар кандай киргизүү ыкмаларын алуу үчүн сканер классынын ар кандай ыкмаларын колдонгон программанын мисалы келтирилген:

      java.util. Scanner импорттоо; коомдук класс ScannerExample {public static void main (String args) {// New Scanner Scanner userInputScanner = new Scanner (System.in); // test nextLine (); System.out.println ("\ nСенин атың ким?"); String name = userInputScanner.nextLine (); // test nextInt (); System.out.print ("Сизде канча мышык бар?"); int numberOfCats = userInputScanner.nextInt (); // Testing nextDouble (); System.out.print ("Капчыгыңызда канча акча бар? $"); double moneyInWallet = userInputScanner.nextDouble (); System.out.println ("\ nСалам" + аты + "! Капчыгыңызда" + numberOfCats + (numberOfCats> 1? "Кошки": "мышык") + "жана $" + moneyInWallet + "бар. / N"); }}

Метод 2 2: Handling Exceptions

1514756 4
1514756 4

Кадам 1. Киргизүү өзгөчөлүктөрүн иштетүү

An

InputMismatchException

колдонуучу суралган түргө дал келбеген маалыматтарды киргизгенде ыргытылат. Мисалы, эгер колдонуучу int суралганда Stringге кирсе, анда программа

InputMismatchException

жана чыгуу. Сиздин программаңыз кемчиликсиз болушу үчүн, бул өзгөчөлүктү чечүүнүн жана бул көйгөйдү чечүүнүн бир нече жолу бар.

1514756 5
1514756 5

Кадам 2. аракет кылуу үчүн блокту колдонуңуз

InputMismatchException

.

    java.util. InputMismatchException импорттоо; java.util. Scanner импорттоо; коомдук класс ScannerExample {public static void main (String args) {// New Scanner Scanner userInputScanner = new Scanner (System.in); // test nextLine (); System.out.print ("\ nСенин атың ким?"); String name = userInputScanner.nextLine (); // test nextInt (); логикалык validInput = false; int numberOfCats = 0; while (! validInput) {System.out.print ("Сизде канча мышык бар?"); аракет {numberOfCats = userInputScanner.nextInt (); validInput = true; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // Testing nextDouble (); validInput = false; double moneyInWallet = 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 ();

  • аракет кылуунун кармоочу бөлүгүндө Сканер колдонуучунун "enter" баскычын кабыл аларын жана кирүү буферин тазалоо ыкмасы катары иштешин камсыз кылат.
1514756 6
1514756 6

Кадам 3. Же болбосо, колдонуучунун киргизүүсүн сканерден кийинки саптарды гана алуу менен акылсыз кылыңыз

Ошентип, биз Сканер кайтарып берген нерселердин баары String объектиси жана эч кандай өзгөчөлүктөрдү жаратпасын камсыздай алабыз. Андан кийин, саптарды бүтүн санга же коштукка айландыруу үчүн, Integer жана Double wrapper класстарын колдоно алабыз.

    java.util. Scanner импорттоо; коомдук класс ScannerExample {public static void main (String args) {// New Scanner Scanner userInputScanner = new Scanner (System.in); // test nextLine (); System.out.print ("\ nСенин атың ким?"); String name = userInputScanner.nextLine (); // test nextInt (); логикалык validInput = false; int numberOfCats = 0; while (! validInput) {System.out.print ("Сизде канча мышык бар?"); String input = userInputScanner.nextLine (); аракет {numberOfCats = Integer.parseInt (киргизүү); validInput = true; } кармоо (NumberFormatException e) {validInput = false; }} // Testing nextDouble (); validInput = false; double moneyInWallet = 0.0; while (! validInput) {System.out.print ("Капчыгыңызда канча акча бар? $"); String input = userInputScanner.nextLine (); аракет {moneyInWallet = Double.parseDouble (киргизүү); validInput = true; } кармоо (NumberFormatException e) {validInput = false; }} System.out.println ("\ nСалам" + аты + "! Капчыгыңызда" + numberOfCats + (numberOfCats> 1? "Кошки": "мышык") + "жана $" + moneyInWallet + "бар. / n "); }}

  • Белгилей кетчү нерсе, бул жерде биз импорттоонун кереги жок болчу

    NumberFormatException

  • класс, анткени ал java.lang пакетинин бир бөлүгү, бул анын ичине киргенин билдирет.
  • Биз ошондой эле буферди тазалоонун кажети жок болчу

    userInputScanner.nextLine ();

  • аракет кылуунун кармоо бөлүгүндө.

Кеңештер

  • Сканер классын колдонуу жөнүндө көбүрөөк маалымат алуу үчүн Scanner API'син караңыз.
  • Кийинки сөздү окуу үчүн.nextLine () ордуна дайыма.next () колдонуңуз, анткени.nextLine () ката кетириши мүмкүн.

Сунушталууда: