Dalam atur cara yang membaca input integer daripada pengguna, menggunakan percubaan/ menangkap blok untuk mengendalikan entri tidak sah, gelung tak terhingga berlaku apabila an InputMismatchException dilemparkan (cth., apabila pengguna memasukkan aksara bukan integer).
Gelung tak terhingga disebabkan oleh dua isu:
Untuk membetulkan gelung tak terhingga dan memastikan pengendalian InputMismatchException yang betul, beberapa langkah boleh diambil:
Berikut ialah kod yang diubah suai dengan penambahbaikan yang dicadangkan:
import java.util.InputMismatchException; import java.util.Scanner; public class Except { public static void main(String[] args) { Scanner input = new Scanner(System.in); boolean bError = true; int n1 = 0, n2 = 0, nQuotient = 0; do { try { System.out.println("Enter first num: "); n1 = input.nextInt(); System.out.println("Enter second num: "); n2 = input.nextInt(); nQuotient = n1/n2; bError = false; } catch (InputMismatchException e) { System.out.println("Error!"); input.next(); // Consume the erroneous input } } while (bError); System.out.printf("%d/%d = %d",n1,n2, nQuotient); } }
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Gelung Infinite Semasa Mengendalikan InputMismatchException di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!