JAVA异常设计门禁

 

public class Door {

    private String name;
    private int level;

    Door() {
    }

    Door(String name, int level) {
        this.name = name;
        this.level = level;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }

}

 

public class Person {

    private String name;
    private int level;

    Person() {
    }

    Person(String name, int level) {
        this.name = name;
        this.level = level;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }

}
 

 

public class Test {
    
    public static List<Door> doors;
    public static List<Person> persons;
    static {
      
        persons = new ArrayList<>();
        Person p1 = new Person("员工", 1);
        Person p2 = new Person("组长", 2);
        Person p3 = new Person("经理", 3);
        Person p4 = new Person("老总", 4);
        persons.add(p1); persons.add(p2); persons.add(p3); persons.add(p4);
        
        doors = new ArrayList<>();
        Door door1 = new Door("办公大厅", 1);
        Door door2 = new Door("会议室", 2);
        Door door3 = new Door("资料室", 3);
        Door door4 = new Door("办公室", 4);
        doors.add(door1); doors.add(door2); doors.add(door3); doors.add(door4);
    }
    
    public static void jinru(Person person,Door door){
        if(person.getLevel() >= door.getLevel()){
            System.err.println("进入成功");
        }else{
            try {
                throw new Exception("权限够:" + person.getName() + "不能进入" + door.getName());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    public static void main(String[] args) {
        int num1 = (int) (Math.random()*4);
        int num2 = (int) (Math.random()*4);
        jinru(persons.get(num1),doors.get(num2));
    }

}