Tipiski programmas darbojas ar datiem, kas jāievada un jāpārraida lietotājam. Šajā apmācībā mēs izpētīsim, kā tu var apstrādāt Java ievades no lietotāja un efektīvi veidot izvadus. Ir dažādi veidi, kā vākt vai nodrošināt informāciju. Šeit būtiska loma ir izvadēm konsolē un kļūdu izvadēm. Tu arī uzzināsi, kā tu vari efektīvi ieviest datus, gan caur konsoli, gan grafiskajām lietotāja saskarnēm.
Svarīgākās atziņas
- Java piedāvā vairākas iespējas datu ievades un izvades apstrādei.
- Ir svarīgi atsevišķi izdalīt izvadus un kļūdas.
- Scanner ir noderīgs rīks, lai ieviestu lietotāja ievades.
Pamata izvadīšana ar System.out
Pirmais solis, strādājot ar izvadiem Java, ir darbs ar System.out, kas pārstāv noklusējuma izvadi. Izmantojot PrintStream klasi, kas pārstāv System.out, tu vari nosūtīt izvadus uz konsoli.
Lai ģenerētu teksta izvadi, tu vari vienkārši izmantot System.out.print vai System.out.println. println beidz rindu pēc izvadīšanas, kamēr print to nedara. Tātad, ja tu vēlies, lai nākamā izvade notiek tajā pašā rindā, izmanto print.

Tu vari izpildīt programmu šādi:
Šī izvade tiks rādīta konsolē, un tu vari pielāgot programmu, lai sniegtu papildu informāciju.
Kļūdu izvadīšana ar System.err
Kļūdu izvadēm ieteicams izmantot System.err. Tas piedāvā priekšrocību, ka kļūdas un regulārās izvadis tiek skaidri atdalītas. Kļūdas var vizuāli izcelt, izmantojot citu krāsu konsolē (bieži sarkanu).
Ja notiek kļūda, tu vari ar System.err.print vai System.err.println izvadīt konkrētu kļūdu:

Šeit ir piemērs kļūdas ziņojumam:
Atdalot regulārās izvadis no kļūdu ziņojumiem, tu vari uzlabot izvadīšanas lasāmību un saprotamību savā programmā.
Ievades ar System.in un Scanner
Lai saņemtu ievades no lietotāja, mēs izmantosim System.in. Šajā gadījumā ieteicams izmantot Scanner klasi no java.util pakotnes. Scanner atvieglo datu ievašanu, jo tas automātiski atpazīst dažādus datu tipus un atgriež ievadi kā virkni.
Pirmkārt, tev jādara imports Scanner:

Tad tu vari izveidot Scanner instanci un nodot System.in:
Tagad tev ir iespēja nolasīt ievades savā programmā.
Lietotāja ievades vākšana
Lai iegūtu datus no lietotāja, tu vari izmantot nextLine(). Tas ļauj iegūt pilnu rindu kā virkni. Tipisks piemērs būtu lietotāja vecuma ievade.
Šeit ir piemērs lietotāja ievadei:

Šajā piemērā lietotājam tiek lūgts ievadīt savu vecumu, un programma pēc tam atgriež ievadītā informāciju.
Lietotāja mijiedarbība ar grafiskiem dialogiem
Ja tu vēlies izmantot grafisko lietotāja saskarni (GUI), tu vari izmantot JOptionPane klasi no javax.swing pakotnes. Tas ļauj tev vākt ievades standartdialoga logā, kas var būt nedaudz lietotājam draudzīgāks.

Šis parāda grafisko dialogu, kur lietotājs var ievadīt savu vecumu.
Lietotāja ievades validēšana
Ir svarīgi validēt ievades, kas nāk no lietotāja. Tev vajadzētu pārliecināties, ka vecums faktiski ir pieņemamā formātā, piemēram, kā vesels skaitlis. Tam tu vari mēģināt pārveidot virkni par skaitli un strādāt ar izņēmumiem.

Izmantojot šo validāciju, tu pasargāsi savu programmu no negaidītām ievadēm.
Kopsavilkums – optimizēt ievades un izvadīšanu Java
Tu tagad esi iepazinies ar pamata koncepcijām ievades un izvadīšanas jomā Java. Atšķirība starp noklusējuma izvadēm un kļūdu ziņojumiem ir fundamentāla, lai radītu skaidrību programmēšanas komunikācijā. Turklāt Scanner izmantošana un iespēja ieviest grafiskos dialogus nodrošina elastīgas ievades risinājumus.
Biežāk uzdotie jautājumi
Kādu klasi es izmantoju standartizvadē?Tu izmanto System.out, lai rādītu izvadus konsoles logā.
Kā es varu izvadīt kļūdu ziņojumus?Izmanto System.err kļūdu ziņojumu izvadīšanai, lai atdalītu tos no regulārajām izvādēm.
Kā es varu vākt lietotāja ievades konsolē?Scanner no java.util ir ideāls, lai vāktu lietotāja ievades no System.in.
Vai es varu izmantot grafiskus ievades dialogus?Jā, izmantojot JOptionPane no javax.swing, tu vari izmantot grafiskos dialogus ievadei.
Vai man jāvalidē lietotāja ievades?Jā, ievades validēšana ir svarīga, lai novērstu kļūdas un negaidītas ievades.