zoukankan      html  css  js  c++  java
  • 黑马程序员面向对象09天3

    /*
    毕老师用电脑上课。
    
    开始思考上课中出现的问题。
    
    
    比如问题是
        电脑蓝屏。
        电脑冒烟。
    
    要对问题进行描述,封装成对象。
    
    
    可是当冒烟发生后,出现讲课进度无法继续。
    
    出现了讲师的问题:课时计划无法完成。
    
    
    */
    
    class LanPingException extends Exception
    {
        LanPingException(String message)
        {
            super(message);
        }
    }
    
    class MaoYanException extends Exception
    {
        MaoYanException(String message)
        {
            super(message);
        }
    }
    
    
    class NoPlanException extends Exception
    {
        NoPlanException(String msg)
        {
            super(msg);
        }
    }
    
    class Computer
    {
        private int state = 3;
        public void run()throws LanPingException,MaoYanException
        {
            if(state==2)
                throw new LanPingException("蓝屏了");
            if(state==3)
                throw new MaoYanException("冒烟了");
    
            System.out.println("电脑运行");
        }
        public void reset()
        {
            state = 1;
            System.out.println("电脑重启");
            
        }
    }
    
    class Teacher
    {
        private String name;
        private Computer cmpt;
    
        Teacher(String name)
        {
            this.name = name;
            cmpt = new Computer();
    
        }
    
        public void prelect()throws NoPlanException
        {
            try
            {
                cmpt.run();            
            }
            catch (LanPingException e)
            {
                cmpt.reset();
            }
            catch (MaoYanException e)
            {
                
                test();
                throw new NoPlanException("课时无法继续"+e.getMessage());
                
            }
            System.out.println("讲课");
        }
        public void test()
        {
            System.out.println("练习");
        }
    
    }
    
    
    
    class ExceptionTest 
    {
        public static void main(String[] args) 
        {
            Teacher t = new Teacher("毕老师");
            try
            {
                t.prelect();
            }
            catch (NoPlanException e)
            {
                System.out.println(e.toString());
                System.out.println("换老师或者放假");
            }
            
        }
    }
  • 相关阅读:
    Linux下NDK编译FFMPEG包含neon参数
    编译器优化陷阱——全局指针多次使用异常
    Linux下使用NDK编译FFMPEG(libstagefright)
    查看Android支持的硬解码信息
    图片格式转换
    转 MFC 主界面函数中线程等待避免界面卡死的处理方法
    Windows Shell编程实现重叠图标IconOverlay
    转 MFC中 GB2312、UTF-8、unicode 之间转换
    windows双机调试
    位图BITMAP结构
  • 原文地址:https://www.cnblogs.com/guwenren/p/3006365.html
Copyright © 2011-2022 走看看