educoder平台Java异常处理_EduCoder Java语言之异常处理类

第1关:了解异常 - ID检测

编程要求

本关的编程任务是补全右侧代码片段中Begin至End中间的代码,具体要求如下:

利用throw关键字声明输入可能出现的异常。

如果输入的ID格式正确,则输出ID格式正确:+ ID内容;反之输出ID长度应为7。

测试说明

平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。

以下是测试样例:

测试输入:1234567 测试输出:ID格式正确:1234567

测试输入:vddft56657 测试输出:ID长度应为7

package step1;

import java.util.Scanner;

public class ThrowException {

public static void function(String id) { //利用throws关键字声明该方法可能出现异常IllegalArgumentException

/********** Begin *********/

if (id.length() == 7) {

//输出ID合法时的语句

System.out.println("ID格式正确:1234567");

} else {

//利用throw关键字抛出异常IllegalArgumentException

throw new IllegalArgumentException();

}

/********** End *********/

}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String id = sc.nextLine();

try {

function(id);

} catch (IllegalArgumentException e) {

/********** Begin *********/

//输出ID不合法时的语句

System.out.println("ID长度应为7");

/********** End *********/

}

}

}

第2关:异常的捕获与处理 - 文本统计

任务描述

本关的任务是通过异常捕获的方式,完成一个程序,实现输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数的功能。

编程要求

本关的编程要求是补全右侧代码片段中Begin至End中间的代码,具体要求如下:

从命令行输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

输出格式参见测试样例。

测试说明

平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。

以下是测试样例:

测试输入:abc123### 测试输出:letter=3,space=0,number=3,other=3

测试输入:777783 34 @ %( sds 测试输出:letter=3,space=4,number=8,other=3

package step2;

import java.awt.*;

import java.io.*;

public class CatchException {

public static void main(String[] args) {

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String str;

/********** Begin *********/

//补全try/catch块,异常类型为IOException

try {

str = reader.readLine();

int letter = 0;

int space = 0;

int number = 0;

int other = 0;

for (int i = 0; i < str.length(); i++) {

if (Character.isLetter(str.charAt(i)))

letter++;

else if (Character.isSpaceChar(str.charAt(i)))

space++;

else if (Character.isDigit(str.charAt(i)))

number++;

else

other++;

}

System.out.println("letter=" + letter + ",space=" + space + ",number=" + number + ",other=" + other);

} catch (IOException e) {

System.out.print(e);

}

/********** End *********/

}

}

第3关:自定义异常 - 正负数

任务描述

本关的任务是通过用户自定义异常的机制,判断一个数是否合法,我们定义为若该数为正数,则合法;反之则不合法。

编程要求

本关的编程要求是补全右侧代码片段中Begin至End中间的代码,具体要求如下:

num变量为命令行输入的int型数据,若num为正数,输出The number you entered is: + num;反之捕获该异常。

测试说明

平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。

以下是测试样例:

样例输入:-60 样例输出:chapter8.step3.MyException: Number cannot be negative!

样例输入:60 样例输出:The number you entered is: 60

package step3;

import java.util.Scanner;

class MyException extends Exception {

public MyException(String m) {

super(m);

}

}

public class MyExceptionTest {

public static void main(String[] args) {

try {

Scanner scanner = new Scanner(System.in);

int num = scanner.nextInt();

/********** Begin *********/

if (num > 0) {

System.out.println("The number you entered is: " + num);

} else {

throw new MyException("Number cannot be negative!");

}

/********** End *********/

} catch (MyException e) {

System.out.print(e);

}

}

}

标签:输出,EduCoder,Java,语言,样例,System,number,测试,ID

来源: https://blog.csdn.net/weixin_45981481/article/details/113785799

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值