java核酸检测异常处理

该博客介绍了如何设计一个处理被检人员信息的管理系统,包括定义身份证号非法异常、年龄非法异常和新冠肺炎病毒阳性异常类,以及存储身份证号、姓名、年龄和检测结果等隐私信息。此外,还详细说明了如何通过构造方法初始化对象,设置属性访问方法,并在检测结果为阳性时抛出异常。最后,提供了测试数据并展示了异常处理的实现。
摘要由CSDN通过智能技术生成

//郑州轻工业大学
//题号:实验四 第一题
//题目:在新冠肺炎疫情防控常态化形势下,核酸检测为疫情应对与处置发挥了重要的技术支撑作用,人们外出前经常需要先进行核酸检测。现为检测机构设计一个处理被检人员信息的管理系统,请定义一个类存储被检人员信息,要求:
(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();
    }
}

运行结果图
在这里插入图片描述
总地址:郑州轻工业大学实验整合

水平有限,如有错误,还望大神指正;(^_−)☆

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木心Fx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值