Rumah >Java >javaTutorial >Bagaimana Mengendalikan Input Integer Tidak Sah dengan Pengimbas Java?

Bagaimana Mengendalikan Input Integer Tidak Sah dengan Pengimbas Java?

DDD
DDDasal
2024-12-18 07:07:10225semak imbas

How to Gracefully Handle Invalid Integer Input with Java's Scanner?

Cara Mengendalikan Input Tidak Sah Menggunakan Pengimbas

Semasa menggunakan Pengimbas untuk input pengguna, mengendalikan input tidak sah, seperti aksara bukan berangka, adalah penting untuk keteguhan program. Mari kita terokai penyelesaian untuk menangani isu ini.

Pertimbangkan coretan kod berikut:

Scanner kb = new Scanner(System.in);
int num1;
int num2 = 0;

System.out.print("Enter number 1: ");
num1 = kb.nextInt();

while (num2 < num1) {
    System.out.print("Enter number 2: ");
    num2 = kb.nextInt();
}

Kod ini bertujuan untuk mendapatkan dua integer daripada pengguna, memastikan nombor kedua (num2) adalah lebih besar daripada yang pertama (num1). Walau bagaimanapun, ia mempunyai dua had:

  1. Ia tidak menyemak input bukan berangka, menyebabkan program ranap jika pengguna memasukkan aksara dan bukannya nombor.
  2. The gelung berterusan walaupun selepas input yang sah dimasukkan untuk num2 kerana keadaan while sentiasa benar.

Untuk menangani isu ini, kita boleh memanfaatkan Kaedah Scanner.hasNextInt(), yang menentukan sama ada token seterusnya dalam input boleh ditafsirkan sebagai integer.

Coretan kod berikut menggabungkan penambahbaikan ini:

Scanner sc = new Scanner(System.in);
System.out.print("Enter number 1: ");
while (!sc.hasNextInt()) sc.next();
int num1 = sc.nextInt();
int num2;
System.out.print("Enter number 2: ");
do {
    while (!sc.hasNextInt()) sc.next();
    num2 = sc.nextInt();
} while (num2 < num1);
System.out.println(num1 + " " + num2);

Dengan menyemak sah input menggunakan hasNextInt() dan mengabaikan aksara tidak sah, program mengendalikan input bukan berangka dengan anggun. Selain itu, gelung do-while memastikan bahawa nombor kedua lebih besar daripada yang pertama, menghalang gelung daripada berterusan selepas input yang sah diperolehi.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Input Integer Tidak Sah dengan Pengimbas Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn