在JAVA中,我們經(jīng)常會(huì)使用Scanner等類庫(kù)來(lái)進(jìn)行輸入操作。然而,在輸入負(fù)數(shù)和零的時(shí)候,我們可能會(huì)遇到異常錯(cuò)誤。下面就讓我們具體了解一下這些異常的原因和解決方法吧。
import java.util.Scanner; public class NegAndZeroExceptionDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("請(qǐng)輸入一個(gè)正數(shù):"); int num = scanner.nextInt(); if (num<= 0) { throw new IllegalArgumentException("請(qǐng)輸入正數(shù)!"); } } }
如上述代碼所示,在輸入一個(gè)數(shù)字后,我們首先判斷它是否為正數(shù),如果不是則會(huì)拋出IllegalArgumentException異常。這個(gè)異常的意義就是用戶輸入了一個(gè)非法的數(shù)字。
在實(shí)際開(kāi)發(fā)中,我們也可以通過(guò)try-catch語(yǔ)句來(lái)捕獲這個(gè)異常:
import java.util.Scanner; public class NegAndZeroExceptionDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("請(qǐng)輸入一個(gè)正數(shù):"); int num = scanner.nextInt(); try { if (num<= 0) { throw new IllegalArgumentException("請(qǐng)輸入正數(shù)!"); } } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); } } }
在上述代碼中,我們通過(guò)try-catch語(yǔ)句捕獲了IllegalArgumentException異常,并打印出了異常信息。
總之,對(duì)于輸入為負(fù)數(shù)和零的異常,我們可以通過(guò)判斷和異常捕獲來(lái)處理,避免程序的崩潰。