Java - Input Pengguna

Helo semua, pemrogram Java masa depan! Hari ini, kita akan melakukan perjalanan yang menarik ke dunia input pengguna di Java. Sebagai guru sains komputer yang mesra, saya di sini untuk membimbing anda melalui aspek penting ini dalam pemrograman. Percayalah, sekali anda menguasai ini, anda akan merasa seperti penyihir yang dapat menjadikan program interaktif!

Java - User Input

Mengapa Input Pengguna Penting

Bayangkan anda membuat permainan di mana pemain perlu untuk menduga nombor. Tanpa input pengguna, permainan anda akan sama saja seperti menonton cat kering! Input pengguna memberi penyaring kepada program kita, menjadikannya dinamik dan interaktif. Ia seperti memberikan program anda telinga untuk mendengar apa yang pengguna ingin katakan.

Kayu Sihir: Kelas Scanner

Di Java, kayu sihir kita untuk menangkap input pengguna adalah kelas Scanner. Ia seperti robot yang mesra yang mendengar apa yang pengguna menaip dan membawa maklumat itu ke program kita. Mari lihat bagaimana kita boleh memanggil pembantu ini:

import java.util.Scanner;

public class ContohInputPengguna {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Lagi kod akan di letak di sini
}
}

Dalam penyata (saya maksudkan, kod) ini, kita melakukan dua hal penting:

  1. Kita import kelas Scanner dari java.util package.
  2. Kita membuat objek Scanner baru yang akan membaca dari System.in (yang mewakili input papan kekunci).

Menerima Input Pertama Kita

Sekarang bahwa kita telah bersedia dengan Scanner, mari gunakannya untuk meminta nama pengguna:

System.out.print("Apa nama anda? ");
String nama = scanner.nextLine();
System.out.println("Helo, " + nama + "! Selamat datang ke pemrograman Java!");

Mari kita kongsi ini:

  1. Kita gunakan System.out.print() untuk bertanya kepada pengguna.
  2. scanner.nextLine() menunggu pengguna untuk menaip sesuatu dan menekan Enter.
  3. Kita simpan apa yang pengguna telah menaip di dalam pembolehubah nama.
  4. Akhirnya, kita penyambut pengguna dengan nama mereka!

Apabila anda menjalankan program ini, ia mungkin akan terlihat seperti ini:

Apa nama anda? Alice
Helo, Alice! Selamat datang ke pemrograman Java!

Adakah itu menakjubkan? Kita sedang melakukan perbualan dengan program kita!

Jenis-Jenis Input Berbeza

Sekarang, mari kita pelajari bagaimana kita boleh menginput jenis data berbeza. Kelas Scanner adalah sangat beragam dan boleh mengendalikan jenis data berbeza. Berikut adalah jadual metod yang kita boleh gunakan:

Method Keterangan
nextLine() Membaca nilai String
nextInt() Membaca nilai int
nextDouble() Membaca nilai double
nextBoolean() Membaca nilai boolean
next() Membaca satu kata (String)

Mari kita gunakan ini dalam contoh yang lebih kompleks:

import java.util.Scanner;

public class JenisInputPengguna {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.print("Masukkan umur anda: ");
int umur = scanner.nextInt();

System.out.print("Masukkan tinggi anda dalam meter: ");
double tinggi = scanner.nextDouble();

System.out.print("Adakah anda pelajar? (true/false): ");
boolean adalahPelajar = scanner.nextBoolean();

scanner.nextLine(); // Konsumsi newline yang masih ada

System.out.print("Apa warna kesukaan anda? ");
String warna = scanner.nextLine();

System.out.println("\nIni apa yang anda katakan kepada saya:");
System.out.println("Umur: " + umur);
System.out.println("Tinggi: " + tinggi + " meter");
System.out.println("Pelajar: " + adalahPelajar);
System.out.println("Warna kesukaan: " + warna);

scanner.close(); // Jangan lupa untuk menutup scanner!
}
}

Program ini adalah seperti robot penyaring yang mesra! Ia meminta berbagai maklumat dan kemudian ringkaskan apa yang telah dipelajari. Mari kita kongsi beberapa titik penting:

  1. Kita gunakan metod berbeza (nextInt(), nextDouble(), nextBoolean(), nextLine()) untuk membaca input berbeza.
  2. Perhatikan scanner.nextLine() ekstra selepas nextBoolean(). Ini adalah trik kecil untuk mengendalikan karakter newline yang tersisa.
  3. Pada akhir, kita close() scanner. Ia adalah wajib untuk membersihkan selepas kita.

Mengendalikan Kesalahan Input

Sekarang, apa yang terjadi jika pengguna menaip sesuatu yang tidak diharapkan? Misalnya, apa jika mereka menaip "dua puluh lima" apabila kita meminta umur mereka? Program kita akan krisis lebih cepat daripada komputer dari tahun 90an! Untuk menghindari ini, kita boleh menggunakan pengendalian kesalahan:

import java.util.Scanner;
import java.util.InputMismatchException;

public class InputPenggunaYangAman {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int umur = 0;
boolean inputValid = false;

while (!inputValid) {
try {
System.out.print("Masukkan umur anda: ");
umur = scanner.nextInt();
inputValid = true;
} catch (InputMismatchException e) {
System.out.println("Ups! Itu bukan umur yang sah. Sila masukkan nombor.");
scanner.nextLine(); // Kosongkan input yang tidak sah
}
}

System.out.println("Umur anda adalah: " + umur);
scanner.close();
}
}

Kod ini adalah seperti guru penyabar. Ia terus meminta umur sampai ia mendapat nombor yang sah. Jika pengguna menaip sesuatu yang bukan nombor, ia dengan baik meminta mereka untuk mencuba lagi.

Penutup

Tahniah! Anda baru saja belajar bagaimana untuk menjadikan program Java anda interaktif dengan menerima input pengguna. Ingat, latihan membuat betul. Cuba untuk membuat program anda sendiri yang meminta input pengguna – mungkin kalkulator sederhana, atau permainan di mana pengguna perlu untuk menduga nombor. Kemungkinan adalah tak terhingga!

Sebagai penutup, di sini adalah beberapa rakun pemrograman untuk anda: Mengapa pemrogram Java memakai kaca mata? Kerana mereka tidak C#! ( Faham tak? C-sharp? Okay, saya akan pergi sendiri...)

Terus untuk mengkod, terus untuk belajar, dan yang paling penting, bersenang-senang! Sampaijumpa lagi, ini adalah guru Java yang mesra anda. Selamat coding!

Credits: Image by storyset