Paano Kumuha ng Input mula sa isang Gumagamit sa Java (na may Mga Larawan)

Talaan ng mga Nilalaman:

Paano Kumuha ng Input mula sa isang Gumagamit sa Java (na may Mga Larawan)
Paano Kumuha ng Input mula sa isang Gumagamit sa Java (na may Mga Larawan)

Video: Paano Kumuha ng Input mula sa isang Gumagamit sa Java (na may Mga Larawan)

Video: Paano Kumuha ng Input mula sa isang Gumagamit sa Java (na may Mga Larawan)
Video: REVAN - THE COMPLETE STORY 2024, Mayo
Anonim

Kapag nagprograma sa Java o anumang iba pang wika, malamang na kailangan mong gumamit ng impormasyon sa pag-input mula sa isang gumagamit. Nagbibigay ang Java ng maraming magkakaibang pamamaraan para sa pagkuha ng impormasyon ng gumagamit, ngunit ang pinakakaraniwan at marahil pinakamadaling ipatupad na pamamaraan ay ang paggamit ng bagay na Scanner.

Mga hakbang

Paraan 1 ng 2: Mga Video

1514756 1
1514756 1

Hakbang 1. I-import ang klase ng Scanner

Maaari kang pumili alinman sa pag-import ng

java.util. Scanner

klase o ang kabuuan

java.util

pakete Upang mag-import ng isang klase o isang pakete, magdagdag ng isa sa mga sumusunod na linya sa simula ng iyong code:

    import java.util. Scanner; // Mag-a-import lamang ito sa klase ng Scanner. import java.util. *; // I-import nito ang buong package ng java.util.

1514756 2
1514756 2

Hakbang 2. Simulan ang isang bagong bagay na Scanner sa pamamagitan ng pagpasa ng

Sistema.in

input stream sa tagapagbuo.

Sistema.in

ay ang karaniwang input stream na bukas na at handa nang mag-supply ng data ng pag-input. Karaniwan ang stream na ito ay tumutugma sa pag-input ng keyboard.

    Scanner userInputScanner = bagong Scanner (System.in);

1514756 3
1514756 3

Hakbang 3. Basahin sa iba't ibang mga uri ng data ng pag-input na ipinasok ng gumagamit

Sinusuportahan ng klase ng Scanner ang pagkuha ng mga primitibo tulad ng int, byte, maikli, mahaba bilang karagdagan sa pagkuha ng mga string.

  • Narito ang ilang mga pamamaraan na magagamit sa pamamagitan ng klase ng Scanner:

    • Basahin ang isang byte -

      susunodByte ()

    • Basahin ang isang maikling -

      susunodShort ()

    • Basahin ang isang int -

      susunodInt ()

    • Magbasa kasabay -

      susunodLong ()

    • Basahin ang isang float -

      susunodFloat ()

    • Basahin ang isang doble -

      susunodDoble ()

    • Basahin ang isang boolean -

      susunodBoolean ()

    • Basahin ang isang kumpletong linya -

      nextLine ()

    • Basahin ang isang salita -

      susunod ()

  • Narito ang isang halimbawa ng isang programa na gumagamit ng iba't ibang mga pamamaraan ng klase ng Scanner upang makakuha ng iba't ibang mga uri ng pag-input:

      import java.util. Scanner; pampublikong klase ScannerExample {public static void main (String args) {// Magsimula ng isang bagong Scanner Scanner userInputScanner = bagong Scanner (System.in); // Testing nextLine (); System.out.println ("\ nAno ang iyong pangalan?"); Pangalan ng string = userInputScanner.nextLine (); // Testing nextInt (); System.out.print ("Ilan ang mga pusa mo?"); int numberOfCats = userInputScanner.nextInt (); // Testing nextDouble (); System.out.print ("Magkano ang pera sa iyong pitaka? $"); dobleng peraInWallet = userInputScanner.nextDouble (); System.out.println ("\ nHello" + pangalan + "! Mayroon kang" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "at $" + moneyInWallet + "sa iyong wallet. / N"); }}

Paraan 2 ng 2: Paghawak ng Mga Pagbubukod

1514756 4
1514756 4

Hakbang 1. Pangasiwaan ang mga pagbubukod sa pag-input

Isang

InputMismatchException

ay itinapon kapag ang gumagamit ay nagpasok ng data na hindi tugma sa hiniling na uri. Halimbawa, kung ang gumagamit ay nagpasok ng isang String kapag hiniling ang isang int, magtatapon ng isang programa

InputMismatchException

at exit. Mayroong maraming mga paraan upang hawakan ang pagbubukod na ito at lutasin ang problemang ito upang ang iyong programa ay maaaring maging walang palya.

1514756 5
1514756 5

Hakbang 2. Gumamit ng isang try-catch block upang hawakan ang

InputMismatchException

.

    i-import ang java.util. InputMismatchException; import java.util. Scanner; pampublikong klase ScannerExample {public static void main (String args) {// Magsimula ng isang bagong Scanner Scanner userInputScanner = bagong Scanner (System.in); // Testing nextLine (); System.out.print ("\ nAno ang iyong pangalan?"); Pangalan ng string = userInputScanner.nextLine (); // Testing nextInt (); boolean validInput = false; int numberOfCats = 0; habang (! validInput) {System.out.print ("Ilan ang mga pusa mo?"); subukan ang {numberOfCats = userInputScanner.nextInt (); validInput = totoo; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // Pagsubok sa susunodDoble (); validInput = false; dobleng peraInWallet = 0.0; habang (! validInput) {System.out.print ("Magkano ang pera sa iyong pitaka? $"); subukan ang {moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); validInput = totoo; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} System.out.println ("\ nHello" + pangalan + "! Mayroon kang" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "at $" + moneyInWallet + "sa iyong wallet. / n "); }}

  • Tandaan na kailangan naming mag-import

    java.util. InputMismatchException

    upang magamit ang

    InputMismatchException

  • klase
  • Gumagamit kami ng isang habang loop upang tanungin ang gumagamit ng parehong tanong hanggang sa ipasok ng gumagamit ang tamang input.
  • Nagdadagdag

    userInputScanner.nextLine ();

  • sa catch bahagi ng try-catch ay tinitiyak na kinikilala ng Scanner ang "enter" key press mula sa gumagamit at gumagana bilang isang paraan upang malinis ang input buffer.
1514756 6
1514756 6

Hakbang 3. Bilang kahalili, gawing walang palya ang input ng gumagamit sa pamamagitan lamang ng pagkuha sa mga susunod na linya mula sa Scanner

Sa ganitong paraan, maaari naming matiyak na ang lahat na ibabalik ng Scanner ay isang bagay na String at hindi lilikha ng anumang mga pagbubukod. Pagkatapos, upang mai-convert ang mga string sa mga integer o doble, maaari naming gamitin ang mga klase sa Integer at Double na pambalot.

    import java.util. Scanner; pampublikong klase ScannerExample {public static void main (String args) {// Magsimula ng isang bagong Scanner Scanner userInputScanner = bagong Scanner (System.in); // Testing nextLine (); System.out.print ("\ nAno ang iyong pangalan?"); Pangalan ng string = userInputScanner.nextLine (); // Testing nextInt (); boolean validInput = false; int numberOfCats = 0; habang (! validInput) {System.out.print ("Ilan ang mga pusa mo?"); String input = userInputScanner.nextLine (); subukan ang {numberOfCats = Integer.parseInt (input); validInput = totoo; } catch (NumberFormatException e) {validInput = false; }} // Pagsubok sa susunodDoble (); validInput = false; dobleng peraInWallet = 0.0; habang (! validInput) {System.out.print ("Magkano ang pera sa iyong pitaka? $"); String input = userInputScanner.nextLine (); subukan ang {moneyInWallet = Double.parseDouble (input); validInput = totoo; } catch (NumberFormatException e) {validInput = false; }} System.out.println ("\ nHello" + pangalan + "! Mayroon kang" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "at $" + moneyInWallet + "sa iyong wallet. / n "); }}

  • Tandaan na dito hindi namin kailangang i-import ang

    NumberFormatException

  • klase dahil bahagi ito ng java.lang package, na nangangahulugang ito ay naka-built in.
  • Hindi rin namin kailangang limasin ang buffer na ginagamit

    userInputScanner.nextLine ();

  • sa bahagi ng catch-catch.

Mga Tip

  • Tingnan ang Scanner API para sa karagdagang impormasyon sa paggamit ng klase ng Scanner.
  • Palaging gumamit ng.next () sa halip na.nextLine () upang basahin ang susunod na salita, bilang.nextLine () ay maaaring maraming surot.

Inirerekumendang: