Ինչպես մուտքագրել Java- ի օգտագործողից (նկարներով)

Բովանդակություն:

Ինչպես մուտքագրել Java- ի օգտագործողից (նկարներով)
Ինչպես մուտքագրել Java- ի օգտագործողից (նկարներով)

Video: Ինչպես մուտքագրել Java- ի օգտագործողից (նկարներով)

Video: Ինչպես մուտքագրել Java- ի օգտագործողից (նկարներով)
Video: Քարավանի փորձարկում -25°-ում: Գիշերակաց ձմռանը: Ինչպե՞ս չսառեցնել: 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, բայթ, կարճ, երկար, բացի տողեր ստանալուց:

  • Ահա մի քանի մեթոդներ, որոնք հասանելի են Սկաներ դասի միջոցով.

    • Կարդալ բայթ -

      nextByte ()

    • Կարճ կարդացեք -

      nextShort ()

    • Կարդալ ինտ -

      nextInt ()

    • Երկար կարդացեք -

      հաջորդ Երկար ()

    • Կարդացեք բոց -

      nextFloat ()

    • Կրկնակի կարդալ -

      հաջորդ Կրկնակի ()

    • Կարդա բուլյան -

      հաջորդԲուլյան ()

    • Կարդացեք ամբողջական տող -

      հաջորդ տող ()

    • Կարդա մի բառ -

      հաջորդ ()

  • Ահա ծրագրի օրինակ, որն օգտագործում է Սկաներ դասի տարբեր մեթոդներ ՝ տարբեր տեսակի մուտքագրումներ ստանալու համար.

      ներմուծել java.util. Scanner; public class ScannerExample {public static void main (String args) {// Initiate a new Scanner Scanner userInputScanner = նոր սկան (System.in); // Testing nextLine (); System.out.println ("\ n Ինչ է քո անունը?"); Լարային անուն = userInputScanner.nextLine (); // Testing nextInt (); System.out.print («Քանի՞ կատու ունեք»); int numberOfCats = userInputScanner.nextInt (); // Testing nextDouble (); System.out.print («Որքա՞ն գումար կա ձեր դրամապանակում: $»); կրկնակի moneyInWallet = userInputScanner.nextDouble (); System.out.println ("\ n Բարև" + անուն + "! Ձեր դրամապանակում ունեք" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "և $" + moneyInWallet + ": / n"); }}

Մեթոդ 2 -ից 2 -ը. Բացառությունների բեռնաթափում

1514756 4
1514756 4

Քայլ 1. Կառավարեք մուտքային բացառությունները:

Ան

InputMismatchException

նետվում է, երբ օգտագործողը մուտքագրում է տվյալներ, որոնք չեն համապատասխանում պահանջվող տիպին: Օրինակ, եթե օգտագործողը մուտքագրում է String, երբ int- ն է պահանջվում, ծրագիրը նետում է

InputMismatchException

և ելք: Այս բացառությունը լուծելու և այս խնդիրը լուծելու մի քանի եղանակ կա, որպեսզի ձեր ծրագիրը կարողանա անթերի լինել:

1514756 5
1514756 5

Քայլ 2. Օգտագործեք try-catch բլոկը ՝ կարգավորելու համար

InputMismatchException

.

    ներմուծել java.util. InputMismatchException; ներմուծել java.util. Scanner; public class ScannerExample {public static void main (String args) {// Initiate a new Scanner Scanner userInputScanner = նոր սկան (System.in); // Testing nextLine (); System.out.print ("\ n Ինչ է քո անունը?"); Լարի անուն = userInputScanner.nextLine (); // Testing nextInt (); բուլյան validInput = կեղծ; int numberOfCats = 0; while (! validInput) {System.out.print («Քանի՞ կատու ունեք»); փորձեք {numberOfCats = userInputScanner.nextInt (); validInput = ճշմարիտ; } բռնել (InputMismatchException ե) {validInput = false; userInputScanner.nextLine (); }} // Testing nextDouble (); validInput = կեղծ; կրկնակի գումար InWallet = 0.0; while (! validInput) {System.out.print («Որքա՞ն գումար կա ձեր դրամապանակում. $»); փորձիր {moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); validInput = ճշմարիտ; } բռնել (InputMismatchException ե) {validInput = false; userInputScanner.nextLine (); }} System.out.println ("\ n Բարև" + անուն + "! Ձեր դրամապանակում ունեք" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "և $" + moneyInWallet + ": / n "); }}

  • Նշենք, որ մենք պետք է ներմուծենք

    java.util. InputMismatchException

    -ն օգտագործելու համար

    InputMismatchException

  • դասարան:
  • Մենք օգտագործում ենք while հանգույց ՝ օգտվողին նույն հարցը տալու համար, մինչև օգտագործողը մուտքագրում է ճիշտ մուտքագրումը:
  • Ավելացնելով

    userInputScanner.nextLine ();

  • try-catch- ի բռնելու մասում երաշխավորում է, որ Սկաները օգտվողից ընդունում է «մուտքագրել» ստեղնը և գործում է որպես մուտքային բուֆերը մաքրելու միջոց:
1514756 6
1514756 6

Քայլ 3. Այլապես, օգտագործողի մուտքն անմեղացրեք, միայն սկաների հաջորդ տողերը վերցնելով:

Այս կերպ մենք կարող ենք ապահովել, որ այն ամենը, ինչ վերադարձնում է Սկաները, լինի Լարային օբյեկտ և չստեղծի որևէ բացառություն: Այնուհետեւ, տողերը ամբողջ թվերի կամ կրկնապատկելու համար կարող ենք օգտագործել Integer եւ Double wrapper դասերը:

    ներմուծել java.util. Scanner; public class ScannerExample {public static void main (String args) {// Initiate a new Scanner Scanner userInputScanner = նոր սկան (System.in); // Testing nextLine (); System.out.print ("\ n Ինչ է քո անունը?"); Լարի անուն = userInputScanner.nextLine (); // Testing nextInt (); բուլյան validInput = կեղծ; int numberOfCats = 0; while (! validInput) {System.out.print («Քանի՞ կատու ունեք»); Լարային մուտքագրում = userInputScanner.nextLine (); փորձեք {numberOfCats = Integer.parseInt (մուտքագրում); validInput = ճշմարիտ; } բռնել (NumberFormatException ե) {validInput = false; }} // Testing nextDouble (); validInput = կեղծ; կրկնակի գումար InWallet = 0.0; while (! validInput) {System.out.print («Որքա՞ն գումար կա ձեր դրամապանակում. $»); Լարային մուտքագրում = userInputScanner.nextLine (); փորձել {moneyInWallet = Double.parseDouble (մուտքագրում); validInput = ճշմարիտ; } բռնել (NumberFormatException ե) {validInput = false; }} System.out.println ("\ n Բարև" + անուն + "! Ձեր դրամապանակում ունեք" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "և $" + moneyInWallet + ": / n "); }}

  • Նշենք, որ այստեղ մենք ստիպված չէինք ներմուծել

    NumberFormatException

  • դաս, քանի որ այն java.lang փաթեթի մի մասն է, ինչը նշանակում է, որ այն ներկառուցված է:
  • Մենք նաև ստիպված չէինք բուֆերը մաքրել ՝ օգտագործելով

    userInputScanner.nextLine ();

  • try-catch- ի բռնելու հատվածում:

Խորհուրդներ

  • Տեսեք Սկաներ API- ն Սկաներ դասի օգտագործման մասին լրացուցիչ տեղեկությունների համար:
  • Հաջորդ բառը կարդալու համար միշտ օգտագործեք.next ().nextLine () - ի փոխարեն:

Խորհուրդ ենք տալիս: