Kako vnesti podatke od uporabnika v Javi (s slikami)

Kazalo:

Kako vnesti podatke od uporabnika v Javi (s slikami)
Kako vnesti podatke od uporabnika v Javi (s slikami)

Video: Kako vnesti podatke od uporabnika v Javi (s slikami)

Video: Kako vnesti podatke od uporabnika v Javi (s slikami)
Video: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Maj
Anonim

Pri programiranju v Javi ali katerem koli drugem jeziku boste najverjetneje morali uporabiti vhodne podatke uporabnika. Java ponuja veliko različnih načinov za pridobivanje informacij o uporabnikih, vendar je najpogostejša in morda najlažja izvedljiva metoda uporaba predmeta Scanner.

Koraki

Metoda 1 od 2: Videoposnetki

1514756 1
1514756 1

Korak 1. Uvozite razred Scanner

Izberete lahko uvoz datoteke

java.util. Scanner

razreda ali celotnega

java.util

paket. Če želite uvoziti razred ali paket, dodajte eno od naslednjih vrstic na sam začetek kode:

    uvoz java.util. Scanner; // To bo uvozilo samo razred Scanner. uvoz java.util.*; // S tem boste uvozili celoten paket java.util.

1514756 2
1514756 2

Korak 2. Inicializirajte nov objekt optičnega bralnika, tako da podate datoteko

System.in

vhodni tok v konstruktor.

System.in

je standardni vhodni tok, ki je že odprt in pripravljen za vnos vhodnih podatkov. Običajno ta tok ustreza vnosu s tipkovnice.

    Optični bralnik userInputScanner = nov bralnik (System.in);

1514756 3
1514756 3

Korak 3. Preberite različne vrste vhodnih podatkov, ki jih uporabnik vnese

Razred Scanner poleg pridobivanja nizov podpira pridobivanje primitiv, kot so int, byte, short, long.

  • Tukaj je nekaj metod, ki so na voljo v razredu Scanner:

    • Preberite bajt -

      nextByte ()

    • Preberi na kratko -

      nextShort ()

    • Preberi int -

      nextInt ()

    • Preberite dolgo -

      nextLong ()

    • Preberite plovec -

      nextFloat ()

    • Preberite dvojno -

      nextDouble ()

    • Preberite logično vrednost -

      nextBoolean ()

    • Preberite celotno vrstico -

      nextLine ()

    • Preberi besedo -

      Naslednji()

  • Tu je primer programa, ki uporablja različne metode razreda Scanner za pridobivanje različnih vrst vnosa:

      uvoz java.util. Scanner; javni razred ScannerExample {public static void main (String args) {// Zaženite nov bralnik optičnega bralnika userInputScanner = nov skener (System.in); // Testiranje nextLine (); System.out.println ("\ nKako ti je ime?"); Ime niza = userInputScanner.nextLine (); // Testiranje nextInt (); System.out.print ("Koliko mačk imate?"); int numberOfCats = userInputScanner.nextInt (); // Testiranje nextDouble (); System.out.print ("Koliko denarja je v vaši denarnici? $"); dvojni moneyInWallet = userInputScanner.nextDouble (); System.out.println ("\ nZdravo" + ime + "! V denarnici imate" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "in $" + moneyInWallet + ". / N"); }}

Metoda 2 od 2: Ravnanje z izjemami

1514756 4
1514756 4

Korak 1. Obravnavajte izjeme pri vnosu

An

InputMismatchException

se vrne, ko uporabnik vnese podatke, ki se ne ujemajo z zahtevano vrsto. Na primer, če uporabnik vnese niz, ko se zahteva int, bo program vrgel datoteko

InputMismatchException

in zapustite. To izjemo lahko odpravite na več načinov, da odpravite to težavo, da bo vaš program brezhiben.

1514756 5
1514756 5

Korak 2. Uporabite blok try-catch za upravljanje

InputMismatchException

.

    import java.util. InputMismatchException; uvoz java.util. Scanner; javni razred ScannerExample {public static void main (String args) {// Zaženite nov bralnik optičnega bralnika userInputScanner = nov skener (System.in); // Testiranje nextLine (); System.out.print ("\ nKako ti je ime?"); Ime niza = userInputScanner.nextLine (); // Testiranje nextInt (); boolean validInput = false; int numberOfCats = 0; while (! validInput) {System.out.print ("Koliko mačk imate?"); poskusite {numberOfCats = userInputScanner.nextInt (); validInput = true; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // Testiranje nextDouble (); validInput = false; dvojni denarInWallet = 0,0; while (! validInput) {System.out.print ("Koliko denarja je v vaši denarnici? $"); poskusite {moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); validInput = true; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} System.out.println ("\ nZdravo" + ime + "! V denarnici imate" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "in $" + moneyInWallet + ". / n "); }}

  • Upoštevajte, da moramo uvoziti

    java.util. InputMismatchException

    za uporabo

    InputMismatchException

  • razred.
  • Z zanko while uporabniku postavimo isto vprašanje, dokler uporabnik ne vnese pravilnega vnosa.
  • Dodajanje

    userInputScanner.nextLine ();

  • v delu catch-a try-catch-a zagotavlja, da optični bralnik potrdi pritisk tipke "enter" od uporabnika in deluje kot način za brisanje vnosnega vmesnega pomnilnika.
1514756 6
1514756 6

Korak 3. Druga možnost je, da uporabniški vnos naredite brezhiben, tako da v bralnik vnesete le naslednje vrstice

Na ta način lahko zagotovimo, da je vse, kar skener vrne, objekt String in ne bo ustvaril nobenih izjem. Nato za pretvorbo nizov v cela števila ali dvojnike lahko uporabimo razrede Integer in Double wrapper.

    uvoz java.util. Scanner; javni razred ScannerExample {public static void main (String args) {// Zaženite nov bralnik optičnega bralnika userInputScanner = nov skener (System.in); // Testiranje nextLine (); System.out.print ("\ nKako ti je ime?"); Ime niza = userInputScanner.nextLine (); // Testiranje nextInt (); boolean validInput = false; int numberOfCats = 0; while (! validInput) {System.out.print ("Koliko mačk imate?"); Niz input = userInputScanner.nextLine (); poskusite {numberOfCats = Integer.parseInt (vnos); validInput = true; } catch (NumberFormatException e) {validInput = false; }} // Testiranje nextDouble (); validInput = false; dvojni denarInWallet = 0,0; while (! validInput) {System.out.print ("Koliko denarja je v vaši denarnici? $"); Niz input = userInputScanner.nextLine (); poskusite {moneyInWallet = Double.parseDouble (vnos); validInput = true; } catch (NumberFormatException e) {validInput = false; }} System.out.println ("\ nZdravo" + ime + "! V denarnici imate" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "in $" + moneyInWallet + ". / n "); }}

  • Upoštevajte, da nam tukaj ni bilo treba uvoziti

    NumberFormatException

  • razred, ker je del paketa java.lang, kar pomeni, da je vgrajen.
  • Prav tako nam ni bilo treba počistiti medpomnilnika z uporabo

    userInputScanner.nextLine ();

  • v delu ulova poskusa ulova.

Nasveti

  • Za več informacij o uporabi razreda Scanner si oglejte Scanner API.
  • Za branje naslednje besede vedno uporabite.next () namesto.nextLine (), saj je.nextLine () lahko napačen.

Priporočena: