Cara Mendapatkan Input dari Pengguna di Java (dengan Gambar)

Daftar Isi:

Cara Mendapatkan Input dari Pengguna di Java (dengan Gambar)
Cara Mendapatkan Input dari Pengguna di Java (dengan Gambar)

Video: Cara Mendapatkan Input dari Pengguna di Java (dengan Gambar)

Video: Cara Mendapatkan Input dari Pengguna di Java (dengan Gambar)
Video: How to Beat Prion - Brutal Mode in 2020 | Plague Inc. Prion Walkthrough (No Commentary) 2024, Mungkin
Anonim

Saat memprogram dalam Java atau bahasa lain, kemungkinan besar Anda perlu menggunakan informasi input dari pengguna. Java menyediakan banyak metode berbeda untuk mendapatkan informasi pengguna, tetapi metode yang paling umum dan mungkin paling mudah diterapkan adalah dengan menggunakan objek Scanner.

Langkah

Metode 1 dari 2: Video

1514756 1
1514756 1

Langkah 1. Impor kelas Pemindai

Anda dapat memilih untuk mengimpor

java.util. Scanner

kelas atau keseluruhan

java.util

kemasan. Untuk mengimpor kelas atau paket, tambahkan salah satu baris berikut ke awal kode Anda:

    impor java.util. Scanner; // Ini hanya akan mengimpor kelas Pemindai. impor java.util.*; // Ini akan mengimpor seluruh paket java.util.

1514756 2
1514756 2

Langkah 2. Inisialisasi objek Pemindai baru dengan melewatkan

System.in

aliran input ke konstruktor.

System.in

adalah aliran input standar yang sudah terbuka dan siap mensuplai data input. Biasanya aliran ini sesuai dengan input keyboard.

    Pemindai userInputScanner = Pemindai baru(System.in);

1514756 3
1514756 3

Langkah 3. Baca berbagai jenis data input yang dimasukkan pengguna

Kelas Scanner mendukung mendapatkan primitif seperti int, byte, short, long selain mendapatkan string.

  • Berikut adalah beberapa metode yang tersedia melalui kelas Scanner:

    • Baca satu byte -

      berikutnyaByte()

    • Baca singkat-

      berikutnyaPendek()

    • Baca sebuah int -

      berikutnyaInt()

    • Baca panjang-

      berikutnyaPanjang()

    • Baca pelampung -

      berikutnyaFloat()

    • Baca ganda -

      berikutnyaGanda()

    • Baca boolean -

      berikutnyaBoolean()

    • Baca baris lengkap -

      baris berikutnya()

    • Membaca kata-

      lanjut()

  • Berikut adalah contoh program yang menggunakan metode berbeda dari kelas Pemindai untuk mendapatkan berbagai jenis input:

      impor java.util. Scanner; public class ScannerExample { public static void main(String args) { // Memulai Pemindai Pemindai baru userInputScanner = Pemindai baru(System.in); // Menguji nextLine(); System.out.println("\nSiapa nama anda? "); Nama string = userInputScanner.nextLine(); // Menguji nextInt(); System.out.print("Berapa banyak kucing yang kamu punya? "); int numberOfCats = userInputScanner.nextInt(); // Menguji nextDouble(); System.out.print("Berapa banyak uang di dompet Anda? $"); double moneyInWallet = userInputScanner.nextDouble(); System.out.println("\nHalo " + nama + "! Anda memiliki " + numberOfCats + (numberOfCats > 1 ? " cats": " cat") + " dan $" + moneyInWallet + " di dompet Anda.\n"); } }

Metode 2 dari 2: Menangani Pengecualian

1514756 4
1514756 4

Langkah 1. Menangani pengecualian input

NS

InputMismatchException

dilempar ketika pengguna memasukkan data yang tidak sesuai dengan tipe yang diminta. Misalnya, jika pengguna memasukkan sebuah String ketika sebuah int diminta, program akan melempar

InputMismatchException

dan keluar. Ada beberapa cara untuk menangani pengecualian ini dan menyelesaikan masalah ini sehingga program Anda dapat menjadi sangat mudah.

1514756 5
1514756 5

Langkah 2. Gunakan blok try-catch untuk menangani

InputMismatchException

.

    impor java.util. InputMismatchException; impor java.util. Scanner; public class ScannerExample { public static void main(String args) { // Memulai Pemindai Pemindai baru userInputScanner = Pemindai baru(System.in); // Menguji nextLine(); System.out.print("\nSiapa nama anda? "); Nama string = userInputScanner.nextLine(); // Menguji nextInt(); boolean validInput = salah; int jumlahKucing = 0; while (!validInput) { System.out.print("Berapa banyak kucing yang kamu punya? "); coba { numberOfCats = userInputScanner.nextInt(); validInput = benar; } catch (InputMismatchException e) { validInput = false; userInputScanner.nextLine(); } } // Pengujian nextDouble(); validInput = salah; uang gandaInWallet = 0,0; while (!validInput) { System.out.print("Berapa banyak uang di dompet Anda? $"); coba { moneyInWallet = userInputScanner.nextDouble(); userInputScanner.nextLine(); validInput = benar; } catch (InputMismatchException e) { validInput = false; userInputScanner.nextLine(); } } System.out.println("\nHalo " + nama + "! Anda memiliki " + numberOfCats + (numberOfCats > 1 ? " cats": "cat") + " dan $" + moneyInWallet + " di dompet Anda.\ n"); } }

  • Perhatikan bahwa kita harus mengimpor

    java.util. InputMismatchException

    untuk menggunakan

    InputMismatchException

  • kelas.
  • Kami menggunakan while loop untuk menanyakan pertanyaan yang sama kepada pengguna sampai pengguna memasukkan input yang benar.
  • Menambahkan

    userInputScanner.nextLine();

  • di bagian tangkapan dari try-catch memastikan bahwa Pemindai mengakui penekanan tombol "enter" dari pengguna dan berfungsi sebagai cara untuk menghapus buffer input.
1514756 6
1514756 6

Langkah 3. Atau, buat input pengguna sangat mudah dengan hanya mengambil baris berikutnya dari Pemindai

Dengan cara ini, kami dapat memastikan bahwa semua yang dikembalikan oleh Pemindai adalah objek String dan tidak akan membuat pengecualian apa pun. Kemudian, untuk mengubah string menjadi integer atau double, kita dapat menggunakan kelas Integer dan Double wrapper.

    impor java.util. Scanner; public class ScannerExample { public static void main(String args) { // Memulai Pemindai Pemindai baru userInputScanner = Pemindai baru(System.in); // Menguji nextLine(); System.out.print("\nSiapa nama anda? "); Nama string = userInputScanner.nextLine(); // Menguji nextInt(); boolean validInput = salah; int jumlahKucing = 0; while (!validInput) { System.out.print("Berapa banyak kucing yang kamu punya? "); Masukan string = userInputScanner.nextLine(); coba { numberOfCats = Integer.parseInt(input); validInput = benar; } catch (NumberFormatException e) { validInput = false; } } // Pengujian nextDouble(); validInput = salah; uang gandaInWallet = 0,0; while (!validInput) { System.out.print("Berapa banyak uang di dompet Anda? $"); Masukan string = userInputScanner.nextLine(); coba { moneyInWallet = Double.parseDouble(input); validInput = benar; } catch (NumberFormatException e) { validInput = false; } } System.out.println("\nHalo " + nama + "! Anda memiliki " + numberOfCats + (numberOfCats > 1 ? " cats": "cat") + " dan $" + moneyInWallet + " di dompet Anda.\ n"); } }

  • Perhatikan bahwa di sini kita tidak perlu mengimpor

    NumberFormatException

  • class karena merupakan bagian dari paket java.lang, yang berarti sudah ada di dalamnya.
  • Kami juga tidak harus menghapus buffer menggunakan

    userInputScanner.nextLine();

  • di bagian tangkapan dari try-catch.

Tips

  • Lihat API Pemindai untuk informasi selengkapnya tentang penggunaan kelas Pemindai.
  • Selalu gunakan.next() alih-alih.nextLine() untuk membaca kata berikutnya, karena.nextLine() bisa jadi buggy.

Direkomendasikan: