题目描述
- 编写程序,输入并显示一批学生信息。
- 学生信息包括:
- 学号(整型)
- 姓名(字符串类型)
- 所在系编号(取值为1-5的整数)
- 要求:
- 用户输入的数据不正确,程序引发异常。(可自定义异常)
核心思想
- 自定义异常类的编写练习
代码实现
- MyException.java (自定义异常类)
public class MyException extends Exception {
public final static String ID_EXCEPTION_MESSAGE = "学号不合法";
public final static String NAME_EXCEPTION_MESSAGE = "姓名不合法";
public final static String PART_NO_EXCEPTION_MESSAGE = "学号不合法";
private static final long serialVersionUID = 4233025264161097260L;
public MyException() {
// TODO Auto-generated constructor stub
System.err.println("异常错误!");
}
public MyException(String msg) {
System.err.println(msg);
}
}
- Student.java 测试类
import java.util.Scanner;
public class Student {
@SuppressWarnings("resource")
public static void main(String[] args) {
int id = 0;
String name = null;
int partNo = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学号(整形):");
try {
id = scanner.nextInt();
}catch(Exception e) {
new MyException(MyException.ID_EXCEPTION_MESSAGE);
return;
}
System.out.println("请输入姓名(字符串):");
try {
name = scanner.next();
}catch(Exception e) {
new MyException(MyException.NAME_EXCEPTION_MESSAGE);
return;
}
System.out.println("请输入系编号(1-5位整数):");
try {
partNo = scanner.nextInt();
if (partNo < 0 || partNo >= 100000) {
new MyException(MyException.PART_NO_EXCEPTION_MESSAGE);
return;
}
}catch(Exception e) {
new MyException(MyException.PART_NO_EXCEPTION_MESSAGE);
return;
}
System.out.println("学号:"+id+"\t姓名:"+name+"\t系编号:"+partNo);
}
}
运行结果展示
- 学号不合法情况
- 姓名不合法情况
- 所有的输入均为字符串,所以这里不会报错,但是后续可以采用正则表达式进行匹配。
- 系编号不合法情况
- 完全正确结果
本节完!
更多信息交流请加QQ:1406073270