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 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,10 +61,13 @@ public class Uhrenanzeige
*/
public void taktsignalGeben()
{
sekundenWert = (sekundenWert + 1) % sekundenLimit;
if(sekundenWert == 0) {
minutenWert = (minutenWert + 1) % minutenLimit;
if(minutenWert == 0) { // Limit wurde erreicht!
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);
}
}
}

View File

@ -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