Cara Mendapatkan Input dari Pengguna di Java (dengan Gambar)

Isi kandungan:

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: moment Windah basudara sus #shorts 2024, Mungkin
Anonim

Semasa memprogram di Java atau bahasa lain, kemungkinan besar anda perlu menggunakan maklumat input dari pengguna. Java menyediakan banyak kaedah yang berbeza untuk mendapatkan maklumat pengguna, tetapi kaedah yang paling biasa dan mungkin paling mudah dilaksanakan adalah dengan menggunakan objek Pengimbas.

Langkah-langkah

Kaedah 1 dari 2: Video

1514756 1
1514756 1

Langkah 1. Import kelas Pengimbas

Anda boleh memilih untuk mengimport

java.util. Scanner

kelas atau keseluruhannya

java.util

pakej. Untuk mengimport kelas atau pakej, tambahkan salah satu baris berikut di awal kod anda:

    import java.util. Scanner; // Ini hanya akan mengimport kelas Pengimbas. import java.util. *; // Ini akan mengimport keseluruhan pakej java.util.

1514756 2
1514756 2

Langkah 2. Memulakan objek Pengimbas baru dengan melewati

Sistem.in

aliran input ke pembina.

Sistem.in

adalah aliran input standard yang sudah terbuka dan siap membekalkan data input. Biasanya aliran ini sesuai dengan input papan kekunci.

    Pengguna pengimbasInputScanner = Pengimbas baru (System.in);

1514756 3
1514756 3

Langkah 3. Baca pelbagai jenis data input yang dimasukkan pengguna

Kelas Pengimbas menyokong mendapatkan primitif seperti int, bait, pendek, panjang selain mendapat rentetan.

  • Berikut adalah beberapa kaedah yang tersedia melalui kelas Pengimbas:

    • Baca bait -

      byte seterusnya ()

    • Baca pendek -

      pendekPendekaran ()

    • Baca int -

      seterusnyaInt ()

    • Baca lama -

      seterusnyaLong ()

    • Baca pelampung -

      nextFloat ()

    • Baca dua kali ganda -

      seterusnyaDouble ()

    • Baca boolean -

      nextBoolean ()

    • Baca petikan lengkap -

      talian seterusnya ()

    • Baca sepatah kata -

      seterusnya ()

  • Berikut adalah contoh program yang menggunakan kaedah berbeza dari kelas Pengimbas untuk mendapatkan pelbagai jenis input:

      import java.util. Scanner; Pengimbas kelas awamContoh {public static void main (String args) {// Memulakan pengguna Scanner Scanner baruInputScanner = Pengimbas baru (System.in); // Menguji nextLine (); System.out.println ("\ nApa nama anda?"); String name = userInputScanner.nextLine (); // Menguji nextInt (); System.out.print ("Berapa banyak kucing yang anda ada?"); int numberOfCats = userInputScanner.nextInt (); // Menguji nextDouble (); System.out.print ("Berapa banyak wang yang ada di dompet anda? $"); wang bergandaInWallet = userInputScanner.nextDouble (); System.out.println ("\ nHalo" + name + "! Anda mempunyai" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "dan $" + moneyInWallet + "di dompet anda. / N"); }}

Kaedah 2 dari 2: Mengendalikan Pengecualian

1514756 4
1514756 4

Langkah 1. Mengendalikan pengecualian input

Seorang

InputMismatchException

dilemparkan semasa pengguna memasukkan data yang tidak sesuai dengan jenis yang diminta. Sebagai contoh, jika pengguna memasuki String ketika int diminta, program akan membuang

InputMismatchException

dan keluar. Terdapat beberapa cara untuk menangani pengecualian ini dan menyelesaikan masalah ini agar program anda dapat dibuat dengan mudah.

1514756 5
1514756 5

Langkah 2. Gunakan blok cubaan untuk menangani

InputMismatchException

.

    import java.util. InputMismatchException; import java.util. Scanner; Pengimbas kelas awamContoh {public static void main (String args) {// Memulakan pengguna Scanner Scanner baruInputScanner = Pengimbas baru (System.in); // Menguji nextLine (); System.out.print ("\ nApa nama anda?"); String name = userInputScanner.nextLine (); // Menguji nextInt (); boolean validInput = false; int numberOfCats = 0; while (! validInput) {System.out.print ("Berapa banyak kucing yang anda ada?"); cuba {numberOfCats = userInputScanner.nextInt (); validInput = benar; } tangkapan (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} // Menguji nextDouble (); validInput = salah; wang bergandaInWallet = 0.0; while (! validInput) {System.out.print ("Berapa banyak wang yang ada di dompet anda? $"); cuba {moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); validInput = benar; } tangkapan (InputMismatchException e) {validInput = false; userInputScanner.nextLine (); }} System.out.println ("\ nHalo" + name + "! Anda mempunyai" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "dan $" + moneyInWallet + "di dompet anda. / n "); }}

  • Perhatikan bahawa kita mesti mengimport

    java.util. InputMismatchException

    untuk menggunakan

    InputMismatchException

  • kelas.
  • Kami menggunakan loop sementara untuk mengajukan soalan yang sama kepada pengguna sehingga pengguna memasukkan input yang betul.
  • Menambah

    userInputScanner.nextLine ();

  • di bahagian tangkapan tangkapan cuba memastikan bahawa Pengimbas mengakui penekanan tombol "enter" dari pengguna dan berfungsi sebagai cara untuk membersihkan penyangga input.
1514756 6
1514756 6

Langkah 3. Sebagai alternatif, jadikan input pengguna sangat mudah dengan hanya mengambil baris seterusnya dari Pengimbas

Dengan cara ini, kita dapat memastikan bahawa semua yang dikembalikan oleh Scanner adalah objek String dan tidak akan membuat pengecualian. Kemudian, untuk menukar rentetan menjadi integer atau ganda, kita boleh menggunakan kelas pembungkus Integer dan Double.

    import java.util. Scanner; Pengimbas kelas awamContoh {public static void main (String args) {// Memulakan pengguna Scanner Scanner baruInputScanner = Pengimbas baru (System.in); // Menguji nextLine (); System.out.print ("\ nApa nama anda?"); String name = userInputScanner.nextLine (); // Menguji nextInt (); boolean validInput = false; int numberOfCats = 0; while (! validInput) {System.out.print ("Berapa banyak kucing yang anda ada?"); String input = userInputScanner.nextLine (); cuba {numberOfCats = Integer.parseInt (input); validInput = benar; } tangkapan (NumberFormatException e) {validInput = false; }} // Menguji nextDouble (); validInput = salah; wang bergandaInWallet = 0.0; while (! validInput) {System.out.print ("Berapa banyak wang yang ada di dompet anda? $"); String input = userInputScanner.nextLine (); cuba {moneyInWallet = Double.parseDouble (input); validInput = benar; } tangkapan (NumberFormatException e) {validInput = false; }} System.out.println ("\ nHalo" + name + "! Anda mempunyai" + numberOfCats + (numberOfCats> 1? "Cats": "cat") + "dan $" + moneyInWallet + "di dompet anda. / n "); }}

  • Perhatikan bahawa di sini kita tidak perlu mengimport

    NumberFormatException

  • kelas kerana ia adalah sebahagian daripada pakej java.lang, yang bermaksud bahawa ia terbina dalam.
  • Kami juga tidak perlu membersihkan penyangga menggunakan

    userInputScanner.nextLine ();

  • di bahagian tangkapan hasil tangkapan.

Petua

  • Lihat API Pengimbas untuk maklumat lebih lanjut mengenai penggunaan kelas Pengimbas.
  • Sentiasa gunakan.next () dan bukan.nextLine () untuk membaca perkataan seterusnya, kerana.nextLine () boleh menjadi kereta.

Disyorkan: