编写一个检查给定的数字的数据类型是否为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);
}
}