设计程序,用随机函数100对生成小于100整型的除数和被除数,计算的相除的商并输出。
要求:
(1)当生成的除数0时,捕捉除0错异常(ArithmeticException);
(2)统计出现除0错异常的次数。
先完成要求中的第一项即捕捉除0异常,在Java中 除0异常错误为(ArithmeticException )其中文含义为:算数异常,即被除数为0时无法进行计算 在
try{
}
catch(){
}//抛出异常语句
语句中catch的条件要为’ArithmeticException‘ +变量值 这个值一般为'e' 作为exception 的简写 也可以写作任何未在函数中定义的变量值,无需定义不影响其输出。
import java.util.Random;
public class Chu0_Error {
public static void main(String[] args) {
Random random = new Random();
for (int i = 0; i <10 ; i++) {
int a = random.nextInt(100);
int b = random.nextInt(3)-1;
//↑↑↑作为除数设置随机生成值为[0,3){1,2,3} 为了保证除数为0 在生成的值里减1 确保有除数会为0为了方便更好的看到结果将随机数调小一点
try {
int i1 = a / b;
System.out.println(i1);
}catch (ArithmeticException e){
System.out.println("除数不能为0");
}
}
System.out.println("执行完循环跳出后执行的打印语句");
///作为测试是否跳出异常的语句,可弃之
}
}
在实现要求中的第一条捕获异常并抛出后,去实现要求中的第二个条件,对捕获异常除0的次数进行统计。
在主函数main中定义变量count,在catch中 进行自增代码为:
public static void main(String[] args) {
Random random = new Random();
int count = 0;
for (int i = 0; i <10 ; i++) {
int a = random.nextInt(100);
int b = random.nextInt(3)-1;
//↑↑↑作为除数设置随机生成值为[0,3){1,2,3} 为了保证除数为0 在生成的值里减1 确保有除数会为0
try {
int i1 = a / b;
System.out.println(i1);
}catch (ArithmeticException e){
count += 1;
System.out.println("除数不能为0");
}
}
System.out.println("除0异常次数为:"+count);
}