实验六 异常处理与输入输出流
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");
}
}
}
}
Comments | NOTHING