1. Maca saka console nggunakakeSystem.in
Ing pelajaran sadurunge, kita kenal karo perintah kanggo nampilake informasi ing layar. Kanggo nindakake iki, kita wis nggunakake System.outobyek print()lan println()cara. Iku prasaja lan trep.
Nanging, kaya sing wis sampeyan duga, nampilake informasi ing layar ora cukup kanggo kita. Tujuan umume program yaiku nindakake perkara sing migunani kanggo pangguna. Tegese kerep banget pangguna kudu bisa ngetik data saka keyboard.
Kaya sing ana ing output, kita uga duwe obyek khusus kanggo input data - System.in. Nanging, sayangé kanggo kita, ora trep kaya sing dikarepake. Ngidini kita maca data saka keyboard siji karakter sekaligus.
Kanggo nambah iki, kita bakal nggunakake kelas liyane sing, nalika dipasangake karo obyek System.in, bakal menehi kita kabeh sing perlu. Wiwit jaman biyen, Jawa wis ana kelas-kelas sing cocog karo saben acara. Lan saiki kita bakal ngerti salah sijine.
2. Scannerkelas
Kelas Scanner(jeneng lengkap: java.util.Scanner) bisa maca data saka macem-macem sumber, contone konsol, file, lan Internet. Yen kita pengin maca data saka keyboard, mula kita kudu ngliwati obyek kasebut System.inminangka argumen sing bakal dadi sumber data. Banjur obyek Scanner bakal nemtokake apa sing kudu ditindakake.
Maca saka keyboard nggunakake Scannerobyek bakal katon kaya iki:
| Kode | Panjelasan |
|---|---|
|
Kita nggawe Scannerobyek. Kita maca baris teks saka keyboard. Kita maca nomer saka keyboard. |
Iku katon gampang, nanging apa iku pancene prasaja?
Aku mikir sampeyan kudu duwe akeh pitakonan, lan saiki kita bakal mangsuli.
Nanging pisanan, ayo nuduhake conto program lengkap sing nggunakake Scannerkelas:
import java.util.Scanner;
public class Solution {
public static void main(String[] args)
{
Scanner console = new Scanner(System.in);
String name = console.nextLine();
int age = console.nextInt();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}
3. Nggawe Scannerobyek
Pitakonan pisanan yaiku apa baris iki Scanner console = new Scanner (System.in);?
Baris iki bisa uga mbingungake, nanging sampeyan bakal weruh kabeh sing padha. Dadi, kita mikir penting kanggo nerangake apa sing kedadeyan ing kene.
Elinga carane biasane nggawe variabel kanthi teks:
String str = "text";
Kaping pisanan, kita nulis jinis variabel ( String), banjur jenenge ( str), lan pungkasane, sawise tandha padha, kita nulis nilai kasebut.
Garis mbingungake kita sejatine padha:
Scanner console = new Scanner(System.in);
Scannervariabel
Kabeh ing sisih kiwa tandha padha yaiku deklarasi variabel sing dijenengi consolejinis Scanner. Sampeyan bisa uga nelpon s utawa scannermalah keyboard. Banjur kode bakal katon kaya iki:
Scanner s = new Scanner(System.in);
String name = s.nextLine();
int age = s.nextInt();
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();
Scanner keyboard = new Scanner(System.in);
String name = keyboard.nextLine();
int age = keyboard.nextInt();
Aku sing nggawe kabeh luwih cetha.
Nanging kode ing sisih tengen tandha padha rada rumit. Aku saiki referring kanggo new Scanner(System.in); Sing ngandika, ana apa-apa gaib kedaden kene uga.
Ing kode iki, kita marang mesin Jawa: nggawe obyek anyar (tembung newkunci) kang jinis Scanner , maringaken ing System.inobyek minangka sumber data kanggo Scannerobyek mentas digawe.
Sawise nglakokake kabeh baris iki, kita bakal duwe Scannervariabel sing dijenengi console program sing bakal digunakake kanggo maca data saka keyboard.
4. Dhaftar cara
Ing conto ing ndhuwur, Scanner consolevariabel kita nyimpen referensi menyang Scannerobyek.
Kanggo nelpon metode ing obyek sing dirujuk dening variabel, sampeyan kudu nulis titik sawise jeneng variabel, banjur jeneng metode lan argumen apa wae. Tampilan umum perintah kasebut yaiku:
variable.method(arguments);
Tuladha:
System.out.println("Hello");
System.out.println(1);
Yen sampeyan ora arep ngirim argumen menyang fungsi, sampeyan mung nulis kurung kosong:
variable.method();
Tuladha:
System.out.println();
5. input console
Nalika kita duwe Scannerobyek, iku gampang kanggo njupuk data saka keyboard.
Kanggo maca baris saka keyboard , sampeyan butuh printah iki:
String str = console.nextLine();
Nalika eksekusi program tekan baris iki, bakal ngaso lan ngenteni pangguna ngetik data banjur pencet enter. Banjur kabeh sing dilebokake pangguna disimpen ing variabel str.
Kanggo maca nomer saka keyboard , sampeyan butuh printah iki:
int number = console.nextInt();
Kabeh ing kene kaya prentah sadurunge. Nalika eksekusi program tekan baris iki, bakal ngaso lan ngenteni pangguna ngetik data banjur pencet enter. Sawise iku, kabeh sing dilebokake pangguna diowahi dadi nomer lan disimpen ing numbervariabel kasebut.
Yen pangguna ngetik data sing ora bisa diowahi dadi integer, program bakal ngasilake kesalahan lan metu.
Kanggo maca angka pecahan saka keyboard , sampeyan butuh printah iki:
double number = console.nextDouble();
Pernyataan iki meh padha karo metode kasebut nextInt(), mung mriksa manawa data sing dilebokake bisa diowahi dadi doublenomer.
Conto program sing maca rong angka saka keyboard lan nampilake jumlahe ing layar:
import java.util.Scanner;
public class Solution {
public static void main(String[] args)
{
Scanner console = new Scanner(System.in);
int a = console.nextInt();
int b = console.nextInt();
System.out.println(a + b);
}
}
Pangguna bisa ngetik sawetara nomer ing baris siji, misahake karo spasi: cara saka kelas Scannerngerti carane nangani iki. Sing jarene, program maca angka mung sawise pangguna mencet Enter.
6. Cara liya saka Scannerkelas
Miturut cara, cara ing ndhuwur ora kabeh sing Scannerditawakake kelas. Daftar lengkap metode katon kaya iki:
| Metode | Katrangan |
|---|---|
|
Maca data lan ngowahi dadi abyte |
|
Maca data lan ngowahi dadi ashort |
|
Maca data lan ngowahi dadiint |
|
Maca data lan ngowahi dadi along |
|
Maca data lan ngowahi dadi afloat |
|
Maca data lan ngowahi dadi adouble |
|
Maca data lan ngowahi dadi aboolean |
|
Maca siji "token". Token dipisahake kanthi spasi utawa pencet tombol enter |
|
Maca kabeh baris |
Ana uga cara sing ngidini sampeyan mriksa token sabanjure ing input tanpa njupuk (supaya ngerti cara sing digunakake kanggo maca).
| Metode | Katrangan |
|---|---|
|
Apa ana byte? Apa input bisa diowahi dadi a byte? |
|
Apa ana short? Apa input bisa diowahi dadi a short? |
|
Apa ana int? Apa input bisa diowahi dadi int? |
|
Apa ana long? Apa input bisa diowahi dadi a long? |
|
Apa ana float? Apa input bisa diowahi dadi a float? |
|
Apa ana double? Apa input bisa diowahi dadi a double? |
|
Apa ana boolean? Apa input bisa diowahi dadi a boolean? |
|
Apa ana token liyane? |
|
Apa ana baris liyane? |
7. Maca data saka senar
Kita sadurunge kasebut yen Scannerkelas bisa maca data saka macem-macem sumber. Salah sawijining sumber kasebut yaiku senar teks .
Iku katon kaya iki:
String str = "text";
Scanner scanner = new Scanner(str);
Nalika nggawe Scannerobyek, kita pass ing senar strtinimbang System.inobyek. Lan saiki scannerobyek bakal maca data saka senar. Tuladha:
| Kode program: | Katerangan: |
|---|---|
|
//a == 10;
// b == 20;
Output layar bakal dadi: |
GO TO FULL VERSION