From 14b95126714aec8296e3657a2be7439707254aca Mon Sep 17 00:00:00 2001 From: schrom01 Date: Sat, 9 Oct 2021 16:14:12 +0200 Subject: [PATCH] =?UTF-8?q?Aufgabe=20ausgef=C3=BChrt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Uhrenanzeige.java | 43 +++++++++++++++++++++++++++++++------------ package.bluej | 33 ++++++++++++++++++++------------- 2 files changed, 51 insertions(+), 25 deletions(-) diff --git a/Uhrenanzeige.java b/Uhrenanzeige.java index e5b5348..2284fe6 100644 --- a/Uhrenanzeige.java +++ b/Uhrenanzeige.java @@ -18,6 +18,8 @@ public class Uhrenanzeige private int stundenWert; private int minutenLimit; private int minutenWert; + private int sekundenLimit; + private int sekundenWert; private String zeitanzeige; // simuliert die tatsaechliche Anzeige /** @@ -30,6 +32,8 @@ public class Uhrenanzeige stundenWert = 0; minutenLimit = 60; minutenWert = 0; + sekundenLimit = 60; + sekundenWert = 0; anzeigeAktualisieren(); } @@ -39,13 +43,15 @@ public class Uhrenanzeige * initialisiert, der durch 'stunde' und 'minute' * definiert ist. */ - public Uhrenanzeige(int stunde, int minute) + public Uhrenanzeige(int stunde, int minute, int sekunde) { stundenLimit = 24; stundenWert = 0; minutenLimit = 60; minutenWert = 0; - setzeUhrzeit(stunde, minute); + sekundenLimit = 60; + sekundenWert = 0; + setzeUhrzeit(stunde, minute, sekunde); } /** @@ -55,9 +61,12 @@ public class Uhrenanzeige */ public void taktsignalGeben() { - minutenWert = (minutenWert + 1) % minutenLimit; - if(minutenWert == 0) { // Limit wurde erreicht! - stundenWert = (stundenWert + 1) % stundenLimit; + sekundenWert = (sekundenWert + 1) % sekundenLimit; + if(sekundenWert == 0) { + minutenWert = (minutenWert + 1) % minutenLimit; + if (minutenWert == 0) { // Limit wurde erreicht! + stundenWert = (stundenWert + 1) % stundenLimit; + } } anzeigeAktualisieren(); } @@ -66,7 +75,7 @@ public class Uhrenanzeige * Setze die Uhrzeit dieser Anzeige auf die gegebene 'stunde' und * 'minute'. */ - public void setzeUhrzeit(int stunde, int minute) + public void setzeUhrzeit(int stunde, int minute, int sekunde) { if((stunde >= 0) && (stunde < stundenLimit)) { stundenWert = stunde; @@ -74,6 +83,9 @@ public class Uhrenanzeige if((minute >= 0) && (minute < minutenLimit)) { minutenWert = minute; } + if((sekunde >= 0) && (sekunde < sekundenLimit)) { + sekundenWert = sekunde; + } anzeigeAktualisieren(); } @@ -90,18 +102,25 @@ public class Uhrenanzeige */ private void anzeigeAktualisieren() { - if(stundenWert < 10) { - zeitanzeige = "0" + stundenWert; + if(stundenWert < 16) { + zeitanzeige = "0" + Integer.toHexString(stundenWert); } else { - zeitanzeige = "" + stundenWert; + zeitanzeige = "" + Integer.toHexString(stundenWert); } zeitanzeige = zeitanzeige + ":"; - if(minutenWert < 10) { - zeitanzeige = zeitanzeige + "0" + minutenWert; + if(minutenWert < 16) { + zeitanzeige = zeitanzeige + "0" + Integer.toHexString(minutenWert); } else { - zeitanzeige = zeitanzeige + minutenWert; + zeitanzeige = zeitanzeige + Integer.toHexString(minutenWert); + } + zeitanzeige = zeitanzeige + ":"; + if(sekundenWert < 16) { + zeitanzeige = zeitanzeige + "0" + Integer.toHexString(sekundenWert); + } + else { + zeitanzeige = zeitanzeige + Integer.toHexString(sekundenWert); } } } diff --git a/package.bluej b/package.bluej index d453383..c66ca30 100644 --- a/package.bluej +++ b/package.bluej @@ -1,26 +1,33 @@ #BlueJ package file -package.editor.height=533 -package.editor.width=941 -package.editor.x=1028 -package.editor.y=164 +editor.fx.0.height=0 +editor.fx.0.width=0 +editor.fx.0.x=0 +editor.fx.0.y=0 +objectbench.height=340 +objectbench.width=2045 +package.divider.horizontal=0.6 +package.divider.vertical=0.736322188449848 +package.editor.height=962 +package.editor.width=3326 +package.editor.x=0 +package.editor.y=0 +package.frame.height=1416 +package.frame.width=3456 package.numDependencies=0 package.numTargets=1 package.showExtends=true package.showUses=true project.charset=UTF-8 -readme.editor.height=526 -readme.editor.width=748 -readme.editor.x=0 -readme.editor.y=0 -target1.editor.height=1024 -target1.editor.width=795 -target1.editor.x=16 -target1.editor.y=22 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 target1.height=50 target1.name=Uhrenanzeige target1.naviview.expanded=false target1.showInterface=false target1.type=ClassTarget -target1.width=100 +target1.width=110 target1.x=70 target1.y=40