Skip to content
Snippets Groups Projects
Select Git revision
  • e79d53a8ee5b5abb1d028dc2064125d7b92d3176
  • main default protected
  • variant
3 results

SlowFire.class

  • Forked from COUETOUX Basile / FirefighterStarter
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Alarm.java 1.25 KiB
    package fr.univamu.l2mi.ticker;
    
    import java.time.LocalTime;
    
    
    import fr.univamu.l2mi.ticker.Tickable;
    
    import java.time.LocalTime;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class Alarm implements Tickable {
        private int counter = 0;
        private List<Reminder> reminders = new ArrayList<>();
    
        public void addReminder(String message, int interval) {
            reminders.add(new Reminder(message, interval));
        }
    
        @Override
        public void notifyTick() {
            counter++;
    
            for (Reminder reminder : reminders) {
                if (counter % reminder.getInterval() == 0) {
                    System.out.println(reminder.getMessage());
                }
            }
        }
    
        // Ajouter une méthode pour obtenir la valeur de counter
        public int getCounter() {
            return counter;
        }
    
        private static class Reminder {
            private final String message;
            private final int interval;
    
            public Reminder(String message, int interval) {
                this.message = message;
                this.interval = interval;
            }
    
            public String getMessage() {
                return message;
            }
    
            public int getInterval() {
                return interval;
            }
        }
    }