第五次实训作业异常处理
1.编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现。
源代码:
package Exception;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Exception1 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader number = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.println("请输入被除数:");
int a = Integer.parseInt(number.readLine());
System.out.println("请输入除数:");
int b = Integer.parseInt(number.readLine());
System.out.print("result:"+ a / b);
}
catch(ArithmeticException e){
System.out.println("除数是0噢!");
}
finally{
System.out.println("\n你真是积极又可爱呀!");
}
}
}
结果截图:
1.1 除数不为零:
1.2 除数为零:
2.编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。
源代码:
package Exception;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Exception2 {
public static void main(String[] args) throws IOException{
BufferedReader radius = new BufferedReader(new InputStreamReader(System.in));
final double PI = 3.14;
System.out.print("请输入半径:\t");
try{
double a = Double.parseDouble(radius.readLine());
System.out.print("圆的面积是:\t"+PI*a*a);
}
catch(NumberFormatException e){
System.out.println("您输入的不是数值噢,请重新输入~~");
}
}
}
结果截图:
2.1 半径输入为数值:
2.2 半径输入不为数值:
3.为类的属性“身份证号码.id”设置值,当给的的值长度为18时,赋值给id,当值长度不是18时,抛出IllegalArgumentException异常,然后捕获和处理异常。
源代码:
package Exception;
public class Exception3 {
private static String id;
public void setId(String id) {
if(id.length() == 18) {
Exception3.id = id;
}
else {
throw new IllegalArgumentException("长度不为18,请重新输入!");
}
}
public static void main(String[] args) {
Exception3 iid = new Exception3();
try {
iid.setId("123456789123456789123");
System.out.println(id);
}
catch(IllegalArgumentException e){
System.out.println(e.getMessage());
}
finally {
System.out.println("您可真可爱!");
}
}
}
结果截图:
3.1 id长度为18:(这里需要手动设置值)
3.2 id长度不为18:
个人感想:
反正这是补作业,就把近些天的知识都用用吧,都是代码,多了几个字母符号而已,哈哈哈。这次还好噢,之前在上机的时候有老师的帮助,那是一下就完成了呢,现在推到重来,只感觉更加的行云流水,下次会更好!加油!