diff --git b/.idea/.gitignore a/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ a/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git b/.idea/misc.xml a/.idea/misc.xml new file mode 100644 index 0000000..07115cd --- /dev/null +++ a/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git b/.idea/modules.xml a/.idea/modules.xml new file mode 100644 index 0000000..764b5b9 --- /dev/null +++ a/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git b/dia3.iml a/dia3.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ a/dia3.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git b/out/production/dia3/Main.class a/out/production/dia3/Main.class new file mode 100644 index 0000000..bc70d74 Binary files /dev/null and a/out/production/dia3/Main.class differ diff --git b/out/production/dia3/clasesjava/Reloj.class a/out/production/dia3/clasesjava/Reloj.class new file mode 100644 index 0000000..f5d9fcc Binary files /dev/null and a/out/production/dia3/clasesjava/Reloj.class differ diff --git b/out/production/dia3/clasesjava/RelojDemo.class a/out/production/dia3/clasesjava/RelojDemo.class new file mode 100644 index 0000000..6f7f83a Binary files /dev/null and a/out/production/dia3/clasesjava/RelojDemo.class differ diff --git b/src/Main.java a/src/Main.java new file mode 100644 index 0000000..7046417 --- /dev/null +++ a/src/Main.java @@ -0,0 +1,2 @@ +public class Main { +} diff --git b/src/clasesjava/Reloj.java a/src/clasesjava/Reloj.java new file mode 100644 index 0000000..f05bcc9 --- /dev/null +++ a/src/clasesjava/Reloj.java @@ -0,0 +1,104 @@ +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 + + ']'; + } +} diff --git b/src/clasesjava/RelojDemo.java a/src/clasesjava/RelojDemo.java new file mode 100644 index 0000000..1cc6f1f --- /dev/null +++ a/src/clasesjava/RelojDemo.java @@ -0,0 +1,41 @@ +package clasesjava; + +import java.util.Scanner; + +public class RelojDemo { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + boolean bandera=true; + int segundos = -1; + + do { + System.out.println("Ingrese los segundos, de 0 a 86400"); + try { + segundos = sc.nextInt(); + if(segundos < 0 || segundos > 86400){ + segundos=10/0; + } + bandera=false; + }catch (Exception e){ + System.out.println("Ingrese un dato valido!"); + sc.nextLine(); + } + }while (bandera==true); + + Reloj reloj = new Reloj(segundos); + + for(int i=0; i<10; i++){ + reloj.tick(); + System.out.println(reloj); + } + + Reloj reloj2 = new Reloj(); + + Reloj restaHora; + + restaHora = reloj.restaReloj(reloj2); + System.out.println(reloj + "-" + reloj2 + "=" + restaHora); + + + } +}