package clasesjava; import java.time.Duration; import java.time.LocalTime; public class Reloj { private int horas; private int minutos; private int segundos; private LocalTime actual = null; public Reloj() { this.horas = 12; this.minutos = 0; this.segundos = 0; } public Reloj(int horas, int minutos, int segundos) { this.horas = horas; this.minutos = minutos; this.segundos = segundos; } public Reloj(int segundos) { setReloj(segundos); } public int getHoras() { return horas; } public void setHoras(int horas) { this.horas = horas; } public int getMinutos() { return minutos; } public void setMinutos(int minutos) { this.minutos = minutos; } public int getSegundos() { return segundos; } public void setSegundos(int segundos) { this.segundos = segundos; } public void setReloj(int segundos) { LocalTime localTime = LocalTime.of(0, 0, 0); this.actual=localTime.plusSeconds(segundos); actualizarHora(this.actual); } public void tick() { LocalTime localTime = LocalTime.of(this.horas, this.minutos, this.segundos); this.actual=localTime.plusSeconds(1L); actualizarHora(this.actual); } public Reloj addReloj(Reloj reloj) { Reloj r= reloj; return r; } public void tickDecrement() { LocalTime actual=null; LocalTime localTime = LocalTime.of(this.horas, this.minutos, this.segundos); this.actual=localTime.minusSeconds(1L); actualizarHora(this.actual); } public Reloj restaReloj(Reloj reloj) { LocalTime local = LocalTime.of(reloj.horas, reloj.minutos, reloj.segundos); LocalTime actual=LocalTime.of(this.horas, this.minutos, this.segundos); int value = local.compareTo(actual); if(value > 0){ int diferencia= (int) Duration.between(actual, local).getSeconds(); return new Reloj(diferencia); }else { int diferencia= (int) Duration.between(local, actual).getSeconds(); return new Reloj(diferencia); } } public void actualizarHora(LocalTime actual) { this.horas= actual.getHour(); this.minutos= actual.getMinute(); this.segundos= actual.getSecond(); } @Override public String toString() { return "[" + + horas + ":" + minutos + ":" + segundos + ']'; } }