Kako dobiti unos od korisnika na Javi (sa slikama)

Sadržaj:

Kako dobiti unos od korisnika na Javi (sa slikama)
Kako dobiti unos od korisnika na Javi (sa slikama)

Video: Kako dobiti unos od korisnika na Javi (sa slikama)

Video: Kako dobiti unos od korisnika na Javi (sa slikama)
Video: Как придать Объём волосам Пошагово дома | 4 способа Укладки волос! Как научиться укладывать волосы! 2024, Svibanj
Anonim

Prilikom programiranja na Javi ili bilo kojem drugom jeziku najvjerojatnije ćete morati koristiti ulazne podatke od korisnika. Java nudi mnogo različitih metoda za dobivanje korisničkih podataka, ali najčešća i možda najjednostavnija metoda je korištenje objekta Skener.

Koraci

Metoda 1 od 2: Video zapisi

1514756 1
1514756 1

Korak 1. Uvezite klasu Skener

Možete odabrati uvoz datoteke

java.util. Skener

klase ili cijele

java.util

paket. Za uvoz klase ili paketa dodajte jedan od sljedećih redaka na sam početak koda:

    uvoz java.util. Scanner; // Ovim će se uvesti samo klasa skenera. uvoz java.util.*; // Ovo će uvesti cijeli paket java.util.

1514756 2
1514756 2

Korak 2. Inicijalizirajte novi objekt skenera prosljeđivanjem datoteke

Sustav.in

ulazni tok u konstruktor.

Sustav.in

je standardni ulazni tok koji je već otvoren i spreman za isporuku ulaznih podataka. Obično ovaj tok odgovara unosu s tipkovnice.

    Skener userInputScanner = novi skener (System.in);

1514756 3
1514756 3

Korak 3. Pročitajte različite vrste ulaznih podataka koje korisnik unosi

Klasa Scanner podržava dobivanje primitiva poput int, byte, short, long uz dobivanje nizova.

  • Evo nekoliko metoda koje su dostupne kroz klasu Skener:

    • Pročitajte bajt -

      nextByte ()

    • Pročitaj ukratko -

      nextShort ()

    • Pročitajte int -

      nextInt ()

    • Čitaj dugo -

      nextLong ()

    • Čitajte ploveći -

      nextFloat ()

    • Čitaj dvostruko -

      nextDouble ()

    • Pročitajte boolean -

      nextBoolean ()

    • Pročitajte cijeli redak -

      nextLine ()

    • Pročitaj riječ -

      Sljedeći()

  • Evo primjera programa koji koristi različite metode klase Skener za dobivanje različitih vrsta unosa:

      uvoz java.util. Scanner; javna klasa ScannerExample {public static void main (String args) {// Pokretanje novog skenera skenera userInputScanner = novi skener (System.in); // Testiranje nextLine (); System.out.println ("\ nKako se zovete?"); Naziv niza = userInputScanner.nextLine (); // Testiranje nextInt (); System.out.print ("Koliko mačaka imate?"); int numberOfCats = userInputScanner.nextInt (); // Testiranje nextDouble (); System.out.print ("Koliko je novca u vašem novčaniku? $"); dvostruki moneyInWallet = userInputScanner.nextDouble (); System.out.println ("\ nZdravo" + ime + "! U svom novčaniku imate" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "i $" + moneyInWallet + ". / N"); }}

Metoda 2 od 2: Rukovanje iznimkama

1514756 4
1514756 4

Korak 1. Obradite iznimke unosa

An

InputMismatchException

se baca kada korisnik unese podatke koji se ne podudaraju sa traženom vrstom. Na primjer, ako korisnik unese niz kada se traži int, program će baciti

InputMismatchException

i izlaz. Postoji nekoliko načina za rješavanje ove iznimke i rješavanje ovog problema tako da vaš program može biti siguran.

1514756 5
1514756 5

Korak 2. Upotrijebite try-catch blok za rukovanje

InputMismatchException

.

    import java.util. InputMismatchException; uvoz java.util. Scanner; javna klasa ScannerExample {public static void main (String args) {// Pokretanje novog skenera skenera userInputScanner = novi skener (System.in); // Testiranje nextLine (); System.out.print ("\ nKako se zovete?"); Naziv niza = userInputScanner.nextLine (); // Testiranje nextInt (); boolean validInput = false; int brojOfCats = 0; while (! validInput) {System.out.print ("Koliko mačaka imate?"); pokušajte {numberOfCats = userInputScanner.nextInt (); validInput = true; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // Testiranje nextDouble (); validInput = false; dvostruki moneyInWallet = 0,0; while (! validInput) {System.out.print ("Koliko novca ima u vašem novčaniku? $"); pokušajte {moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); validInput = true; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} System.out.println ("\ nZdravo" + ime + "! U svom novčaniku imate" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "i $" + moneyInWallet + ". / n "); }}

  • Imajte na umu da moramo uvesti

    java.util. InputMismatchException

    kako bismo koristili

    InputMismatchException

  • razred.
  • Koristimo while petlju da postavimo korisniku isto pitanje dok korisnik ne unese ispravan unos.
  • Dodavanje

    userInputScanner.nextLine ();

  • u dijelu ulova pokušaja hvatanja osigurava da skener potvrdi pritiskanje tipke "enter" od korisnika i funkcionira kao način za brisanje ulaznog međuspremnika.
1514756 6
1514756 6

Korak 3. Alternativno, učinite korisnički unos sigurnim tako što ćete samo uzeti sljedeće redove iz skenera

Na ovaj način možemo osigurati da je sve što skener vrati objekt String i da neće stvoriti iznimke. Zatim, za pretvaranje nizova u cjelobrojne ili dvostruke, možemo koristiti klase Integer i Double omotač.

    uvoz java.util. Scanner; javna klasa ScannerExample {public static void main (String args) {// Pokretanje novog skenera skenera userInputScanner = novi skener (System.in); // Testiranje nextLine (); System.out.print ("\ nKako se zovete?"); Naziv niza = userInputScanner.nextLine (); // Testiranje nextInt (); boolean validInput = false; int brojOfCats = 0; while (! validInput) {System.out.print ("Koliko mačaka imate?"); Niz input = userInputScanner.nextLine (); pokušajte {numberOfCats = Integer.parseInt (ulaz); validInput = true; } catch (NumberFormatException e) {validInput = false; }} // Testiranje nextDouble (); validInput = false; dvostruki moneyInWallet = 0,0; while (! validInput) {System.out.print ("Koliko novca ima u vašem novčaniku? $"); Niz input = userInputScanner.nextLine (); pokušajte {moneyInWallet = Double.parseDouble (ulaz); validInput = true; } catch (NumberFormatException e) {validInput = false; }} System.out.println ("\ nZdravo" + ime + "! U svom novčaniku imate" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "i $" + moneyInWallet + ". / n "); }}

  • Imajte na umu da ovdje nismo morali uvesti

    NumberFormatException

  • klase jer je dio paketa java.lang, što znači da dolazi ugrađen.
  • Također nismo morali izbrisati međuspremnik pomoću

    userInputScanner.nextLine ();

  • u dijelu ulova pokušaj ulova.

Savjeti

  • Za više informacija o korištenju klase Skener pogledajte API skenera.
  • Uvijek koristite.next () umjesto.nextLine () za čitanje sljedeće riječi, jer.nextLine () može imati greške.

Preporučeni: