Kā iegūt ievadi no lietotāja Java (ar attēliem)

Satura rādītājs:

Kā iegūt ievadi no lietotāja Java (ar attēliem)
Kā iegūt ievadi no lietotāja Java (ar attēliem)

Video: Kā iegūt ievadi no lietotāja Java (ar attēliem)

Video: Kā iegūt ievadi no lietotāja Java (ar attēliem)
Video: Plague Inc: The Cure - Prion Mega-Brutal Guide 2024, Maijs
Anonim

Programmējot Java vai kādā citā valodā, visticamāk, jums būs jāizmanto lietotāja ievadītā informācija. Java nodrošina daudzas dažādas metodes lietotāja informācijas iegūšanai, taču visizplatītākā un, iespējams, visvieglāk ieviešamā metode ir skenera objekta izmantošana.

Soļi

1. metode no 2: videoklipi

1514756 1
1514756 1

1. darbība. Importējiet skenera klasi

Jūs varat izvēlēties importēt

java.util. Scanner

klasē vai kopumā

java.util

iepakojums. Lai importētu klasi vai paketi, koda pašā sākumā pievienojiet vienu no šīm rindām:

    importēt java.util. Scanner; // Tas importēs tikai skenera klasi. importēt java.util.*; // Tas importēs visu java.util pakotni.

1514756 2
1514756 2

2. solis. Inicializējiet jaunu skenera objektu, nokārtojot

System.in

ievades plūsma konstruktorā.

System.in

ir standarta ievades plūsma, kas jau ir atvērta un gatava ievades datu piegādei. Parasti šī plūsma atbilst tastatūras ievadei.

    Skeneris userInputScanner = jauns skeneris (System.in);

1514756 3
1514756 3

Solis 3. Izlasiet dažāda veida ievades datus, ko lietotājs ievada

Skeneru klase papildus virkņu iegūšanai atbalsta tādu primitīvu iegūšanu kā int, baits, īss un garš.

  • Šeit ir dažas metodes, kas pieejamas skeneru klasē:

    • Lasīt baitu -

      nextByte ()

    • Izlasi īsi -

      nextShort ()

    • Izlasiet int -

      nextInt ()

    • Lasi ilgi -

      nextLong ()

    • Lasīt pludiņu -

      nextFloat ()

    • Lasiet dubultā -

      nextDouble ()

    • Lasīt Būla -

      nextBoolean ()

    • Izlasiet pilnu rindu -

      nextLine ()

    • Izlasi vārdu -

      Nākamais()

  • Šeit ir piemērs programmai, kas izmanto dažādas skeneru klases metodes, lai iegūtu dažāda veida ievadi:

      importēt java.util. Scanner; public class ScannerExample {public static void main (String args) {// Iniciēt jaunu skenera skeneri userInputScanner = new Scanner (System.in); // testēšana nextLine (); System.out.println ("\ nKāds ir jūsu vārds?"); Virknes nosaukums = userInputScanner.nextLine (); // Testing nextInt (); System.out.print ("Cik kaķu jums ir?"); int numberOfCats = userInputScanner.nextInt (); // Testing nextDouble (); System.out.print ("Cik daudz naudas ir jūsu makā? $"); dubultā naudaInWallet = userInputScanner.nextDouble (); System.out.println ("\ nSveiki" + vārds + "! Jūsu makā ir" + numberOfCats + (numberOfCats> 1? "Kaķi": "kaķis") + "un $" + moneyInWallet + ". / N"); }}

2. metode no 2: Izņēmumu apstrāde

1514756 4
1514756 4

1. solis. Apstrādājiet ievades izņēmumus

An

InputMismatchException

tiek izmests, kad lietotājs ievada datus, kas neatbilst pieprasītajam tipam. Piemēram, ja lietotājs ievada virkni, kad tiek prasīts int, programma iemetīs

InputMismatchException

un iziet. Ir vairāki veidi, kā rīkoties ar šo izņēmumu un atrisināt šo problēmu, lai jūsu programma būtu droša.

1514756 5
1514756 5

2. solis. Izmantojiet mēģinājuma noķeršanas bloku, lai apstrādātu

InputMismatchException

.

    importēt java.util. InputMismatchException; importēt java.util. Scanner; public class ScannerExample {public static void main (String args) {// Iniciēt jaunu skenera skeneri userInputScanner = new Scanner (System.in); // testēšana nextLine (); System.out.print ("\ nKāds ir jūsu vārds?"); Virknes nosaukums = userInputScanner.nextLine (); // Testing nextInt (); Būla validInput = false; int numberOfCats = 0; while (! validInput) {System.out.print ("Cik kaķu jums ir?"); pamēģini {numberOfCats = userInputScanner.nextInt (); validInput = true; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // Testing nextDouble (); validInput = nepatiess; dubultā naudaInWallet = 0,0; while (! validInput) {System.out.print ("Cik daudz naudas ir tavā makā? $"); pamēģini {moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); validInput = true; } catch (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} System.out.println ("\ nSveiki" + vārds + "! Jūsu makā ir" + numberOfCats + (numberOfCats> 1? "Kaķi": "kaķis") + "un $" + moneyInWallet + ". / n "); }}

  • Ņemiet vērā, ka mums ir jāimportē

    java.util. InputMismatchException

    lai izmantotu

    InputMismatchException

  • klase.
  • Mēs izmantojam cikla ciklu, lai uzdotu lietotājam to pašu jautājumu, līdz lietotājs ievadīs pareizo ievadi.
  • Pievienošana

    userInputScanner.nextLine ();

  • mēģinājuma nozvejas noķeršanas daļā nodrošina, ka skeneris apstiprina lietotāja taustiņa "enter" nospiešanu un darbojas kā veids, kā notīrīt ievades buferi.
1514756 6
1514756 6

3. solis. Varat arī padarīt lietotāja ievadi drošu, tikai uzņemot nākamās skenera rindas

Tādā veidā mēs varam nodrošināt, ka viss, ko skeneris atgriež, ir String objekts un neradīs nekādus izņēmumus. Tad, lai pārvērstu virknes par veseliem skaitļiem vai dubultiem, mēs varam izmantot veselas un dubultās ietīšanas klases.

    importēt java.util. Scanner; public class ScannerExample {public static void main (String args) {// Iniciēt jaunu skenera skeneri userInputScanner = new Scanner (System.in); // testēšana nextLine (); System.out.print ("\ nKāds ir jūsu vārds?"); Virknes nosaukums = userInputScanner.nextLine (); // Testing nextInt (); Būla validInput = false; int numberOfCats = 0; while (! validInput) {System.out.print ("Cik kaķu jums ir?"); Stīgu ievade = userInputScanner.nextLine (); mēģiniet {numberOfCats = Integer.parseInt (ievade); validInput = true; } catch (NumberFormatException e) {validInput = false; }} // Testing nextDouble (); validInput = nepatiess; dubultā naudaInWallet = 0,0; while (! validInput) {System.out.print ("Cik daudz naudas ir tavā makā? $"); Stīgu ievade = userInputScanner.nextLine (); try {moneyInWallet = Double.parseDouble (ievade); validInput = true; } catch (NumberFormatException e) {validInput = false; }} System.out.println ("\ nSveiki" + vārds + "! Jūsu makā ir" + numberOfCats + (numberOfCats> 1? "Kaķi": "kaķis") + "un $" + moneyInWallet + ". / n "); }}

  • Ņemiet vērā, ka šeit mums nebija jāimportē

    NumberFormatException

  • klasē, jo tā ir daļa no pakotnes java.lang, kas nozīmē, ka tā ir iebūvēta.
  • Mums arī nevajadzēja iztīrīt buferi, izmantojot

    userInputScanner.nextLine ();

  • mēģinājuma nozvejas nozvejas daļā.

Padomi

  • Lai iegūtu plašāku informāciju par skenera klases izmantošanu, skatiet skenera API.
  • Lai lasītu nākamo vārdu, vienmēr izmantojiet.next (), nevis.nextLine (), jo.nextLine () var būt kļūdains.

Ieteicams: