在從使用者讀取整數輸入的程式中,利用try / catch 區塊來處理無效條目,當拋出InputMismatchException 時(例如,當使用者輸入非整數元符號)。
無限循環是由兩個問題引起的:
要修復無限循環並確保正確處理InputMismatchException,需要執行以下幾個步驟可以採取:
以下是修改後的程式碼以及建議的改進:
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); } }
以上是Java中處理InputMismatchException時如何避免無限迴圈?的詳細內容。更多資訊請關注PHP中文網其他相關文章!