Si të merrni hyrje nga një përdorues në Java (me fotografi)

Përmbajtje:

Si të merrni hyrje nga një përdorues në Java (me fotografi)
Si të merrni hyrje nga një përdorues në Java (me fotografi)

Video: Si të merrni hyrje nga një përdorues në Java (me fotografi)

Video: Si të merrni hyrje nga një përdorues në Java (me fotografi)
Video: Oothe Amla Te Hoone Ne Navede - Nusrat Fateh Ali Khan | Official Audio Song 2024, Mund
Anonim

Kur programoni në Java ose ndonjë gjuhë tjetër, ka shumë të ngjarë që të keni nevojë të përdorni informacionin hyrës nga një përdorues. Java ofron shumë metoda të ndryshme për marrjen e informacionit të përdoruesit, por metoda më e zakonshme dhe ndoshta më e lehtë për t’u zbatuar është përdorimi i objektit Skaner.

Hapa

Metoda 1 nga 2: Video

1514756 1
1514756 1

Hapi 1. Importoni klasën Skaner

Ju ose mund të zgjidhni të importoni

java.util. Skaner

klasa ose e tëra

java.util

paketë. Për të importuar një klasë ose një paketë, shtoni një nga rreshtat e mëposhtëm në fillim të kodit tuaj:

    import java.util. Scanner; // Kjo do të importojë vetëm klasën Skaner. import java.util.*; // Kjo do të importojë të gjithë paketën java.util.

1514756 2
1514756 2

Hapi 2. Filloni një objekt të ri të Skanerit duke kaluar

Sistemi.in

rryma hyrëse në konstruktor.

Sistemi.in

është rryma standarde e hyrjes që është tashmë e hapur dhe e gatshme për të furnizuar të dhënat hyrëse. Zakonisht kjo rrjedhë korrespondon me hyrjen e tastierës.

    Skanuesi userInputScanner = Skanuesi i ri (System.in);

1514756 3
1514756 3

Hapi 3. Lexoni në lloje të ndryshme të të dhënave hyrëse që fut përdoruesi

Klasa e Skanerit mbështet marrjen e primitivëve të tillë si int, bajt, të shkurtër, të gjatë përveç marrjes së telave.

  • Këtu janë disa metoda që janë të disponueshme përmes klasës së Skanerit:

    • Lexoni një bajt -

      nextByte ()

    • Lexoni një të shkurtër -

      nextShort ()

    • Lexoni një int -

      nextInt ()

    • Lexoni gjatë -

      NextLong ()

    • Lexoni një notë -

      nextFloat ()

    • Lexoni një dyshe -

      nextDouble ()

    • Lexoni një boolean -

      nextBoolean ()

    • Lexoni një rresht të plotë -

      NextLine ()

    • Lexoni një fjalë -

      tjeter ()

  • Këtu është një shembull i një programi që përdor metoda të ndryshme të klasës Skaner për të marrë lloje të ndryshme të hyrjes:

      import java.util. Scanner; klasa publike ScannerExample {public static void main (String args) {// Iniconi një Skanues të ri të Skanerit userInputScanner = Skanues i ri (System.in); // Testimi i nextLine (); System.out.println ("\ nSi quhesh?"); Emri i vargut = userInputScanner.nextLine (); // Testimi nextInt (); System.out.print ("Sa mace keni?"); int numberOfCats = userInputScanner.nextInt (); // Testimi i nextDouble (); System.out.print ("Sa para keni në portofolin tuaj? $"); double moneyInWallet = userInputScanner.nextDouble (); System.out.println ("\ nPërshëndetje" + emër + "! Ju keni" + numberOfCats + (numberOfCats> 1? "Macet": "cat") + "dhe $" + moneyInWallet + "në portofolin tuaj. / N"); }}

Metoda 2 nga 2: Trajtimi i përjashtimeve

1514756 4
1514756 4

Hapi 1. Trajtoni përjashtimet e dhëna

Një

InputMospërputhjaPërjashtim

hidhet kur përdoruesi fut të dhëna që nuk përputhen me llojin e kërkuar. Për shembull, nëse përdoruesi fut një String kur kërkohet një int, programi do të hedhë një

InputMospërputhjaPërjashtim

dhe dalje. Ka disa mënyra për të trajtuar këtë përjashtim dhe për të zgjidhur këtë problem në mënyrë që programi juaj të jetë i patëmetë.

1514756 5
1514756 5

Hapi 2. Përdorni një bllok try-catch për të trajtuar

InputMospërputhjaPërjashtim

.

    import java.util. InputMospërputhjePërjashtim; import java.util. Scanner; klasa publike ScannerExample {public static void main (String args) {// Iniconi një Skanues të ri të Skanerit userInputScanner = Skanues i ri (System.in); // Testimi i nextLine (); System.out.print ("\ nSi quhesh?"); Emri i vargut = userInputScanner.nextLine (); // Testimi nextInt (); boolean validInput = false; int numriOfCats = 0; ndërsa (! validInput) {System.out.print ("Sa mace keni?"); provo {numberOfCats = userInputScanner.nextInt (); validInput = e vërtetë; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // Testimi i nextDouble (); validInput = false; para të dyfishtaInWallet = 0.0; ndërsa (! validInput) {System.out.print ("Sa para keni në portofolin tuaj? $"); provo {moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); validInput = e vërtetë; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} System.out.println ("\ nPërshëndetje" + emër + "! Ju keni" + numberOfCats + (numberOfCats> 1? "Macet": "cat") + "dhe $" + moneyInWallet + "në portofolin tuaj. / n "); }}

  • Vini re se ne duhet të importojmë

    java.util. InputMospërputhjePërjashtim

    për të përdorur

    InputMospërputhjaPërjashtim

  • klasa
  • Ne po përdorim një lak while për t'i bërë përdoruesit të njëjtën pyetje derisa përdoruesi të futë hyrjen e saktë.
  • Duke shtuar

    userInputScanner.nextLine ();

  • në pjesën e kapjes së try-catch sigurohet që Skaneri të pranojë shtypjen e tastit "enter" nga përdoruesi dhe funksionon si një mënyrë për të pastruar tamponin e hyrjes.
1514756 6
1514756 6

Hapi 3. Përndryshe, bëni hyrjen e përdoruesit të pagabueshëm duke marrë vetëm rreshtat e ardhshëm nga Skaneri

Në këtë mënyrë, ne mund të sigurohemi që gjithçka që skaneri të kthehet është një objekt String dhe nuk do të krijojë asnjë përjashtim. Pastaj, për të konvertuar vargjet në numra të plotë ose dyshe, mund të përdorim klasat e mbështjellësve të plotë dhe të dyfishtë.

    import java.util. Scanner; klasa publike ScannerExample {public static void main (String args) {// Iniconi një Skanues të ri të Skanerit userInputScanner = Skanues i ri (System.in); // Testimi i nextLine (); System.out.print ("\ nSi quhesh?"); Emri i vargut = userInputScanner.nextLine (); // Testimi nextInt (); boolean validInput = false; int numriOfCats = 0; ndërsa (! validInput) {System.out.print ("Sa mace keni?"); String input = userInputScanner.nextLine (); provo {numberOfCats = Integer.parseInt (hyrje); validInput = e vërtetë; } catch (NumberFormatException e) {validInput = false; }} // Testimi i nextDouble (); validInput = false; para të dyfishtaInWallet = 0.0; ndërsa (! validInput) {System.out.print ("Sa para keni në portofolin tuaj? $"); String input = userInputScanner.nextLine (); provo {moneyInWallet = Double.parseDouble (hyrje); validInput = e vërtetë; } catch (NumberFormatException e) {validInput = false; }} System.out.println ("\ nPërshëndetje" + emër + "! Ju keni" + numberOfCats + (numberOfCats> 1? "Macet": "cat") + "dhe $" + moneyInWallet + "në portofolin tuaj. / n "); }}

  • Vini re se këtu nuk na është dashur të importojmë

    NumriFormatPërjashtim

  • klasë sepse është pjesë e paketës java.lang, që do të thotë se vjen e integruar.
  • Ne gjithashtu nuk kemi pse të pastrojmë tamponin duke përdorur

    userInputScanner.nextLine ();

  • në pjesën e kapjes së try-catch.

Këshilla

  • Shihni API -në e Skanerit për më shumë informacion mbi përdorimin e klasës së Skanerit.
  • Përdorni gjithmonë.next () në vend të.nextLine () për të lexuar fjalën tjetër, pasi.nextLine () mund të jetë e gabuar.

Recommended: