본문 바로가기
자바 프로그래밍/코딩

AlarmTime.java

by 세인트킴 2023. 5. 12.
public class AlarmTime {
    private int hour;
    private int minute;
    private boolean active;

    public AlarmTime(int hour, int minute) {
        this(hour, minute, false);
    }

    public AlarmTime(int hour, int minute, boolean active) {
        setHour(hour);
        setMinute(minute);
        setActive(active);
    }

    public boolean isActive() {
        return active;
    }

    public void setActive(boolean active) {
        this.active = active;
    }

    public int getHour() {
        return hour;
    }

    public void setHour(int hour) {
        if (hour >= 0 && hour <= 23) {
            this.hour = hour;
        } else {
            throw new IllegalArgumentException("Invalid hour value. Hour must be between 0 and 23.");
        }
    }

    public int getMinute() {
        return minute;
    }

    public void setMinute(int minute) {
        if (minute >= 0 && minute <= 59) {
            this.minute = minute;
        } else {
            throw new IllegalArgumentException("Invalid minute value. Minute must be between 0 and 59.");
        }
    }

    public static void main(String[] args) {
        AlarmTime[] arr = new AlarmTime[10];
        arr[0] = new AlarmTime(8, 30);
        arr[1] = new AlarmTime(12, 0, true);
        arr[2] = new AlarmTime(18, 45, true);

        // Changing alarm time for the first object
        arr[0].setHour(7);
        arr[0].setMinute(45);

        // Printing all alarm times
        for (AlarmTime alarm : arr) {
            if (alarm != null) {
                System.out.println("Alarm Time: " + alarm.getHour() + ":" + alarm.getMinute() +
                        ", Active: " + alarm.isActive());
            }
        }
    }
}

'자바 프로그래밍 > 코딩' 카테고리의 다른 글

QuadraticEquationSolver.java  (0) 2023.05.26
CurrencyConverter.java  (0) 2023.05.22
ex09_2.java(성적분석 모의실험)  (0) 2023.05.06
ex06_3.java  (0) 2023.05.06
ex06_2.java  (0) 2023.05.06