//郑州轻工业大学
//题号:实验四 第一题
//题目:在新冠肺炎疫情防控常态化形势下,核酸检测为疫情应对与处置发挥了重要的技术支撑作用,人们外出前经常需要先进行核酸检测。现为检测机构设计一个处理被检人员信息的管理系统,请定义一个类存储被检人员信息,要求:
(1)分别定义身份证号非法异常类、年龄非法异常类和新冠肺炎病毒阳性异常类;
(2)需要保存的隐私信息有身份证号、姓名、年龄、检测结果;
(3)定义构造方法初始化对象属性;
(4)提供属性访问方法;其中身份证号属性值的设置方法定义时,如果身份证号的前17位出现非数字,应抛出身份证号非法异常;其中年龄属性值的设置方法定义时,如果年龄不在1~150范围内,应抛出年龄非法异常;
(5)定义一个诊断方法,用于输出每个人的信息。当某人的检测结果为“阳性”时,应抛出新冠肺炎病毒阳性异常,并输出“隔离治疗”;
(6)分别用下列数据测试被检人员信息类,合理处理可能出现的异常,并输出“新冠肺炎检测管理信息系统V1.0”:
53010219200508011Z 张三 18 阴性
1X0701199310302288 李四 60 阴性
520302198912097945 王五 151 阴性
42092219731015461X 赵六 20 阳性
注:如果认为有必要,可以增加其他的成员方法或构造方法来辅助完成任务。何时触发异常、如何处理异常可自行决定。
————————————————
实际上这作业的题目描述,已经详细的包含了题目分析了,还列出了1,2,3,4,5,6项分析,只需要按照分析,一步一步写出来就好了。
真的不是我懒,这题确实解释的很详细了,没什么可以分析的了
直接上代码:看不懂,或代码问题评论区留言
public class xinguan {
private String ID;
private String name;
private int age;
private String jieguo;
public xinguan(String ID, String name, int age, String jieguo) throws Exception {
this.name = name;
setID(ID);
setAge(age);
setJieguo(jieguo);
}
public String getID() {
return ID;
}
public static boolean isNumeric(String str) {
for (int i = str.length() - 1; --i >= 0; ) {
int chr = str.charAt(i);
if (chr < 48 || chr > 57)
return false;
}
return true;
} //类可以相互调用方法
public void setID(String ID) {
String s = String.valueOf(ID);
try {
if (isNumeric(s) == true)
this.ID = ID;
else
throw new Exception(getName() + "身份证异常"); //抛出异常对象
} catch (Exception e) {
System.out.println(e.toString());
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
try {
if (age > 0 && age <= 150)
this.age = age;
else
throw new Exception(getName() + "年龄非法异常"); //抛出异常对象
} catch (Exception e) {
System.out.println(e.toString());
}
}
public String getJieguo() {
return jieguo;
}
public void setJieguo(String jieguo) {
this.jieguo = jieguo;
}
public void zhenduan() {
try {
if (jieguo == "阴性")
System.out.println(getName() + "结果正常为阴性");
else
throw new Exception(getName() + "新冠病毒阳性异常"); //抛出异常对象
} catch (Exception e) {
System.out.println(e.toString() + "\n隔离治疗");
} finally {
System.out.println("新冠肺炎检测管理系统V1.0");
}
}
public static void main(String[] args) throws Exception {
xinguan a1 = new xinguan("53010219200508011Z", "张三", 18, "阴性");
xinguan a2 = new xinguan("1X0701199310302288", "李四", 60, "阴性");
xinguan a3 = new xinguan("520302198912097945", "王五", 151, "阴性");
xinguan a4 = new xinguan("42092219731015461X", "赵六", 20, "阳性");
a1.zhenduan();
a2.zhenduan();
a3.zhenduan();
a4.zhenduan();
}
}
运行结果图
总地址:郑州轻工业大学实验整合
水平有限,如有错误,还望大神指正;(^_−)☆