編寫一個檢查給定的數字的數據類型是否爲byte的程序,如果此數字超出byte數據類型表示的數的範圍,則引發用戶自定義的異常ByteSizeException, 並顯示相應的錯誤信息”數字超出了byte範圍”。
代碼1——簡單法:
public class Text_2_2 {
public static void main(String[] args) {
double k = 129 ;
try {
check(k);
System.out.println(k);
}catch(ByteSizeException2 e) {
System.out.println(e.getMessage());
}
}
public static byte check (double a ) throws ByteSizeException2{
if(a<-128||a>127)
throw new ByteSizeException2("數字超出了byte範圍");
return (byte)a ;
}
}
class ByteSizeException2 extends Exception{
public ByteSizeException2(String message) {
super(message);
// TODO 自動生成的構造函數存根
}
}
代碼2——精巧法:
public class Main {
public static void main(String[] args) {
double k = 58 ;
try {
check(k);
System.out.println(k);
}catch(ByteSizeException e) {
System.out.println(e.getMessage());
}
}
public static byte check(double a) throws ByteSizeException {
byte b = (byte) a ;
if(b!=a)
throw new ByteSizeException("數字超出了byte範圍") ;
return b ;
}
}
class ByteSizeException extends Exception{
public ByteSizeException(String message) {
super(message);
}
}