Aufgabe ausgeführt.

This commit is contained in:
schrom01 2021-10-09 16:14:12 +02:00
parent 5805d15d15
commit 14b9512671
2 changed files with 51 additions and 25 deletions

View File

@ -18,6 +18,8 @@ public class Uhrenanzeige
private int stundenWert; private int stundenWert;
private int minutenLimit; private int minutenLimit;
private int minutenWert; private int minutenWert;
private int sekundenLimit;
private int sekundenWert;
private String zeitanzeige; // simuliert die tatsaechliche Anzeige private String zeitanzeige; // simuliert die tatsaechliche Anzeige
/** /**
@ -30,6 +32,8 @@ public class Uhrenanzeige
stundenWert = 0; stundenWert = 0;
minutenLimit = 60; minutenLimit = 60;
minutenWert = 0; minutenWert = 0;
sekundenLimit = 60;
sekundenWert = 0;
anzeigeAktualisieren(); anzeigeAktualisieren();
} }
@ -39,13 +43,15 @@ public class Uhrenanzeige
* initialisiert, der durch 'stunde' und 'minute' * initialisiert, der durch 'stunde' und 'minute'
* definiert ist. * definiert ist.
*/ */
public Uhrenanzeige(int stunde, int minute) public Uhrenanzeige(int stunde, int minute, int sekunde)
{ {
stundenLimit = 24; stundenLimit = 24;
stundenWert = 0; stundenWert = 0;
minutenLimit = 60; minutenLimit = 60;
minutenWert = 0; minutenWert = 0;
setzeUhrzeit(stunde, minute); sekundenLimit = 60;
sekundenWert = 0;
setzeUhrzeit(stunde, minute, sekunde);
} }
/** /**
@ -55,9 +61,12 @@ public class Uhrenanzeige
*/ */
public void taktsignalGeben() public void taktsignalGeben()
{ {
minutenWert = (minutenWert + 1) % minutenLimit; sekundenWert = (sekundenWert + 1) % sekundenLimit;
if(minutenWert == 0) { // Limit wurde erreicht! if(sekundenWert == 0) {
stundenWert = (stundenWert + 1) % stundenLimit; minutenWert = (minutenWert + 1) % minutenLimit;
if (minutenWert == 0) { // Limit wurde erreicht!
stundenWert = (stundenWert + 1) % stundenLimit;
}
} }
anzeigeAktualisieren(); anzeigeAktualisieren();
} }
@ -66,7 +75,7 @@ public class Uhrenanzeige
* Setze die Uhrzeit dieser Anzeige auf die gegebene 'stunde' und * Setze die Uhrzeit dieser Anzeige auf die gegebene 'stunde' und
* 'minute'. * 'minute'.
*/ */
public void setzeUhrzeit(int stunde, int minute) public void setzeUhrzeit(int stunde, int minute, int sekunde)
{ {
if((stunde >= 0) && (stunde < stundenLimit)) { if((stunde >= 0) && (stunde < stundenLimit)) {
stundenWert = stunde; stundenWert = stunde;
@ -74,6 +83,9 @@ public class Uhrenanzeige
if((minute >= 0) && (minute < minutenLimit)) { if((minute >= 0) && (minute < minutenLimit)) {
minutenWert = minute; minutenWert = minute;
} }
if((sekunde >= 0) && (sekunde < sekundenLimit)) {
sekundenWert = sekunde;
}
anzeigeAktualisieren(); anzeigeAktualisieren();
} }
@ -90,18 +102,25 @@ public class Uhrenanzeige
*/ */
private void anzeigeAktualisieren() private void anzeigeAktualisieren()
{ {
if(stundenWert < 10) { if(stundenWert < 16) {
zeitanzeige = "0" + stundenWert; zeitanzeige = "0" + Integer.toHexString(stundenWert);
} }
else { else {
zeitanzeige = "" + stundenWert; zeitanzeige = "" + Integer.toHexString(stundenWert);
} }
zeitanzeige = zeitanzeige + ":"; zeitanzeige = zeitanzeige + ":";
if(minutenWert < 10) { if(minutenWert < 16) {
zeitanzeige = zeitanzeige + "0" + minutenWert; zeitanzeige = zeitanzeige + "0" + Integer.toHexString(minutenWert);
} }
else { 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);
} }
} }
} }

View File

@ -1,26 +1,33 @@
#BlueJ package file #BlueJ package file
package.editor.height=533 editor.fx.0.height=0
package.editor.width=941 editor.fx.0.width=0
package.editor.x=1028 editor.fx.0.x=0
package.editor.y=164 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.numDependencies=0
package.numTargets=1 package.numTargets=1
package.showExtends=true package.showExtends=true
package.showUses=true package.showUses=true
project.charset=UTF-8 project.charset=UTF-8
readme.editor.height=526 readme.height=58
readme.editor.width=748 readme.name=@README
readme.editor.x=0 readme.width=47
readme.editor.y=0 readme.x=10
target1.editor.height=1024 readme.y=10
target1.editor.width=795
target1.editor.x=16
target1.editor.y=22
target1.height=50 target1.height=50
target1.name=Uhrenanzeige target1.name=Uhrenanzeige
target1.naviview.expanded=false target1.naviview.expanded=false
target1.showInterface=false target1.showInterface=false
target1.type=ClassTarget target1.type=ClassTarget
target1.width=100 target1.width=110
target1.x=70 target1.x=70
target1.y=40 target1.y=40