Tüüpilised programmid töötavad andmetega, mis peavad olema kasutaja poolt sisestatud ja väljundatud. Selles õpetuses uurime, kuidas saad Java kasutajalt sisendeid töödelda ja väljundeid efektiivselt kujundada. Andmete kogumiseks või esitamiseks on erinevaid viise. Siinkohal mängib konsoolis väljundite ja vigade eristamine olulist rolli. Sa õpid ka, kuidas andmeid tõhusalt sisse lugeda, olgu need siis konsooli või graafiliste kasutajaliideste kaudu.
Olulisemad teadmised
- Java pakub mitmeid võimalusi andmete sisendi ja väljundi käsitlemiseks.
- Oluline on eristada väljundeid ja vigu üksteisest.
- Scanner on kasulik tööriist kasutaja sisendi lugemiseks.
Põhiline väljund System.out kaudu
Esimene samm väljunditega töötamisel Java-s on System.out-ga töötamine, mis esindab standardväljundit. Klass PrintStream, mis esindab System.out, võimaldab sul väljundeid konsooli saata.
Tekstiväljundi genereerimiseks saad kasutada lihtsalt System.out.print või System.out.println. println lõpetab rea pärast väljundit, samas kui print ei tee seda. Kui soovid, et järgmine väljund toimuks samas reas, kasuta print.

Sa saad programmi käivitada järgmiselt:
See väljund kuvatakse konsoolis ja saad programmi kohandada, et jagada rohkem teavet.
Vigade väljund System.err kaudu
Vigade väljastamiseks on soovitatav kasutada System.err. See pakub eelist, et vead ja regulaarvõi väljundid eristuvad üksteisest selgelt. Vigu saab visuaalselt esile tuua, näiteks konsoolis teise värvi kasutamise kaudu (tihti punane).
Kui viga ilmneb, saad System.err.print või System.err.println abil sisestada spetsiifilise vea:

Siin on näide veateatest:
Regulaarvõi väljundite ja veateadete eristamise kaudu saad suurendada oma programmi väljundite loetavust ja jälgitavust.
Sisend System.in ja Scanneriga
Kasutaja sisendi saamiseks kasutame System.in. Soovitatav on kasutada Scanner klassi pakettist java.util. Scanner lihtsustab andmete lugemist, kuna see tuvastab automaatselt erinevad andme tüübid ja tagastab sisendi stringina.
Esimese asjana pead sa importima Scanneri:

Seejärel saad luua Scanneri instantsi ja anda System.in:
Nüüd on sul võimalus lugeda sisendeid oma programmis.
Kasutaja sisendite kogumine
Kasutajalt andmete küsimiseks saad kasutada nextLine(). See võimaldab sul koguda täis rea stringina. Tüüpiline näide oleks kasutaja vanuse sisestamine.
Siin on näide kasutajasisendist:

Selles näites palutakse kasutajal sisestada oma vanus ja programm tagastab seejärel sisestatud teabe.
Kasutaja interaktsioonid graafiliste dialoogide kaudu
Kui soovid kasutada graafilist kasutajaliidest (GUI), saad kasutada klassi JOptionPane paketti javax.swing. See võimaldab sul sisendeid koguda standarddialoogaknas, mis võib olla veidi kasutajasõbralikum.

See kuvab graafilise dialooge, kus kasutaja saab sisestada oma vanuse.
Kasutaja sisendite valideerimine
Oluline on valideerida kasutajalt tulevad sisendid. Sa peaksid veenduma, et vanus on tegelikult aktsepteeritavas formaadis, näiteks terviknumber. Selleks saad proovida stringi numbriks konverteerida ja töötada eranditega.

Need valideerimised rakendades kaitsed sa oma programmi ootamatute sisendite eest.
Kokkuvõte – Sisse- ja väljundite optimeerimine Java-s
Oled nüüd tuttav Java-s sisendi ja väljundi põhimõtetega. Erinevus standardväljundite ja veateadete vahel on fundamentaalne, et luua selgust programmidevahelises suhtluses. Lisaks pakub Scanneri kasutamine ja võimalus rakendada graafilisi dialooge paindlikke lahendusi andmete sisestamiseks.
Korduma kippuvad küsimused
Kuidas ma saan standardväljundi jaoks klassi kasutada?Sa kasutad System.out, et kuvada väljundeid konsooni aknas.
Kuidas ma saan veateateid kuvada?Kasutades System.err, saad kuvada veateateid, eristades neid regulaarsetest väljunditest.
Kuidas ma saan konsoolis kasutaja sisendeid koguda?Scanner java.util-st on ideaalne, et koguda kasutaja sisendeid System.in-st.
Kas ma saan kasutada graafilisi sisenddialooge?Jah, JOptionPane kasutades javax.swing-st saad kasutada graafilisi dialooge sisendi jaoks.
Kas ma pean kasutaja sisendeid valideerima?Jah, sisendite valideerimine on oluline, et vältida vigu ja ootamatuid sisendeid.