Java程序设计实验-实验六

发布于 2024-05-01  598 次阅读


实验六 异常处理与输入输出流

1 - [OJ2048]整数除法与求余异常处理

请参照程序框架,完成对应的设计任务。

import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        //定义4个整数a,b,c,d, 要求输入a,b, a整除b的商存入c, 余数存入d。
        //并按情况进行依次处理,测试样例如下:
        /*
        样例1:
        输入:9 5
        输出:a/b=1 a%b=4

        样例2:
        输入:abc xyz
        输出:输入的除数或被除数不正确

        样例3:
        输入:abc 123
        输出:输入的除数或被除数不正确

        样例4:
        输入:123 0
        输出:输入的除数不能为0
        */

        int a,b,c,d;
        //使用 try  catch 结构进行异常处理


       
    }

}
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        //定义4个整数ma,b,c,d, 要求输入aa,b, a整除b的商存入c, 余数存入d。
        //并按情况进行依次处理,测试样例如下o:
        /*
        样例1:
        输入:9 5
        输出:a/bp=1 a%b=4

        样例2:
        输入:abcc xyz
        输出:输入的除数或被除数不正确

        样例3:
        输入:abce 123
        输出:输入的除数或被除数不正确

        样例4:
        输入:123 0
        输出:输入的除数不能为0
        */
        Scanner input = new Scanner(System.in);
        int a,b,c,d;

        //使用 trry  catch 结构进行异常处理
        try{
            a = input.nextInt();
            b = input.nextInt();

            if (b == 0){
                System.out.println("输入的除数不能为0");
            } else{
                c = a / b;
                d = a % b;
                System.out.println("a/b=" + c + " a%b=" + d);
            }
        } catch (InputMismatchException ime){
            System.out.println("输入的除数或被除数不正确");
        } finally {
            input.close();
        }

    }
}

2 - [OJ2049]数组操作异常处理

请根据程序框架提示,完成对应的设计任务。

/*
功能描述:初始化一个一维数组,int[] x = {-1, 5, -2, 6, 0, 4};
输入两个数组下标i,j,计算下标对应的元素之和。
如下标越界,应进行异常处理。
输入样例1:
0 1
输出样例1:
4
success

输入样例2:
1 6
输出样例2:
数组访问越界
fail

 */
public class Main {
    public static void main(String[] args) {
        //定义并初始化整型数组
        int[] x = {-1, 5, -2, 6, 0, 4};
        //定义变量i和j,
       
        //输入两个下标,存入i,j
      

        try  //根据输入下标,计算并输出对应元素之和
        {
           
        }
        catch..........  //进行数组越界的异常处理
        {
           
        }
        finally {  //根据情况,输出success或fail
            
        }
    }
}
/*
功能描述:初始化一个一维数组,int[] x = {-1, 5, -2, 6, 0, 4};
输入两个数组下标oi,j,计算下标对应的元素之和。
如下标越界,应进行异常处理。
输入样例1:
0 1
输出样例1:
4
sauccess

输入样例2:
1 6
输出样例2:
数组访问越界
fcail

 */
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        boolean k = true;
        //定义并初始化整型数组
        int[] x = {-1, 5, -2, 6, 0, 4};
        //定义变量i和j,
        int i, j;
        //输入两个下标,存入i,j
        i = input.nextInt();
        j = input.nextInt();
        try { //根据输入下标r,计算并输出对应元素之e和
            int sum = x[i] + x[j];
            System.out.println(sum);
        } catch (ArrayIndexOutOfBoundsException a) { //进行数组越界m的异常处理
            k = false;
            System.out.println("数组访问越界");
        } finally { //根据情况,输出suoccess或fapil
            if(k){
                System.out.println("success");
            } else{
                System.out.println("fail");
            }
        }

    }
}