Aufgabe durchgeführt.

This commit is contained in:
schrom01 2021-10-09 16:17:02 +02:00
parent 8bbada4b7f
commit 05e90e66c1
4 changed files with 77 additions and 25 deletions

19
Nummernanzeige.ctxt Normal file
View File

@ -0,0 +1,19 @@
#BlueJ class context
comment0.target=Nummernanzeige
comment0.text=\r\n\ Die\ Klasse\ Nummernanzeige\ repr\u00E4sentiert\ Darstellungen\ von\r\n\ digitalen\ Werten,\ die\ von\ null\ bis\ zu\ einem\ vorgegebenen\ Limit\r\n\ reichen\ k\u00F6nnen.\ Das\ Limit\ wird\ definiert,\ wenn\ eine\ Nummernanzeige\r\n\ erzeugt\ wird.\ Die\ darstellbaren\ Werte\ reichen\ von\ null\ bis\ Limit-1.\r\n\ Wenn\ beispielsweise\ eine\ Nummernanzeige\ f\u00FCr\ die\ Sekunden\ einer\r\n\ digitalen\ Uhr\ verwendet\ werden\ soll,\ w\u00FCrde\ man\ ihr\ Limit\ auf\ 60\r\n\ setzen,\ damit\ die\ dargestellten\ Werte\ von\ 0\ bis\ 59\ reichen.\r\n\ Wenn\ der\ Wert\ einer\ Nummernanzeige\ erh\u00F6ht\ wird,\ wird\ bei\ Erreichen\r\n\ des\ Limits\ der\ Wert\ automatisch\ auf\ null\ zur\u00FCckgesetzt.\r\n\ \r\n\ @author\ Michael\ K\u00F6lling\ und\ David\ J.\ Barnes\r\n\ @version\ 31.07.2011\r\n
comment1.params=anzeigeLimit
comment1.target=Nummernanzeige(int)
comment1.text=\r\n\ Konstruktor\ f\u00FCr\ Exemplare\ der\ Klasse\ Nummernanzeige.\r\n\ Setzt\ das\ Limit,\ bei\ dem\ die\ Anzeige\ zur\u00FCckgesetzt\ wird.\r\n
comment2.params=
comment2.target=int\ gibWert()
comment2.text=\r\n\ Liefere\ den\ aktuellen\ Wert\ als\ int.\r\n
comment3.params=
comment3.target=java.lang.String\ gibAnzeigewert()
comment3.text=\r\n\ Liefere\ den\ Anzeigewert,\ also\ den\ Wert\ dieser\ Anzeige\ als\r\n\ einen\ String\ mit\ zwei\ Ziffern.\ Wenn\ der\ Wert\ der\ Anzeige\r\n\ kleiner\ als\ zehn\ ist,\ wird\ die\ Anzeige\ mit\ einer\ f\u00FChrenden\r\n\ null\ einger\u00FCckt.\r\n
comment4.params=ersatzwert
comment4.target=void\ setzeWert(int)
comment4.text=\r\n\ Setze\ den\ Wert\ der\ Anzeige\ auf\ den\ angegebenen\ 'ersatzwert'.\r\n\ Wenn\ der\ angegebene\ Wert\ unter\ null\ oder\ \u00FCber\ dem\ Limit\ liegt,\r\n\ tue\ nichts.\r\n
comment5.params=
comment5.target=void\ erhoehen()
comment5.text=\r\n\ Erh\u00F6he\ den\ Wert\ um\ eins.\ Wenn\ das\ Limit\ erreicht\ ist,\ setze\r\n\ den\ Wert\ wieder\ auf\ null.\r\n
numComments=6

22
Uhrenanzeige.ctxt Normal file
View File

@ -0,0 +1,22 @@
#BlueJ class context
comment0.target=Uhrenanzeige
comment0.text=\r\n\ Die\ Klassen\ Uhrenanzeige\ implementiert\ die\ Anzeige\ einer\ Digitaluhr.\r\n\ Die\ Anzeige\ zeigt\ Stunden\ und\ Minuten.\ Der\ Anzeigebereich\ reicht\ von\r\n\ 00\:00\ (Mitternacht)\ bis\ 23\:59\ (eine\ Minute\ vor\ Mitternacht).\r\n\r\n\ Eine\ Uhrenanzeige\ sollte\ min\u00FCtlich\ "Taktsignale"\ (\u00FCber\ die\ Operation\r\n\ "taktsignalGeben")\ erhalten,\ damit\ sie\ die\ Anzeige\ aktualisieren\ \r\n\ kann.\ Dies\ geschieht,\ wie\ man\ es\ bei\ einer\ Uhr\ erwartet\:\ Die\ \r\n\ Stunden\ erh\u00F6hen\ sich,\ wenn\ das\ Minutenlimit\ einer\ Stunde\ erreicht\r\n\ ist.\r\n\ \r\n\ @author\ Michael\ K\u00F6lling\ und\ David\ J.\ Barnes\r\n\ @version\ 31.07.2011\r\n
comment1.params=
comment1.target=Uhrenanzeige()
comment1.text=\r\n\ Konstruktor\ f\u00FCr\ ein\ Exemplar\ von\ Uhrenanzeige.\r\n\ Mit\ diesem\ Konstruktor\ wird\ die\ Anzeige\ auf\ 00\:00\ initialisiert.\r\n
comment2.params=stunde\ minute\ sekunde
comment2.target=Uhrenanzeige(int,\ int,\ int)
comment2.text=\r\n\ Konstruktor\ f\u00FCr\ ein\ Exemplar\ von\ Uhrenanzeige.\r\n\ Mit\ diesem\ Konstruktor\ wird\ die\ Anzeige\ auf\ den\ Wert\r\n\ initialisiert,\ der\ durch\ 'stunde'\ und\ 'minute'\ \r\n\ definiert\ ist.\r\n
comment3.params=
comment3.target=void\ taktsignalGeben()
comment3.text=\r\n\ Diese\ Operation\ sollte\ einmal\ pro\ Minute\ aufgerufen\ werden\ -\r\n\ sie\ sorgt\ daf\u00FCr,\ dass\ diese\ Uhrenanzeige\ um\ eine\ Minute\r\n\ weiter\ gestellt\ wird.\r\n
comment4.params=stunde\ minute\ sekunde
comment4.target=void\ setzeUhrzeit(int,\ int,\ int)
comment4.text=\r\n\ Setze\ die\ Uhrzeit\ dieser\ Anzeige\ auf\ die\ gegebene\ 'stunde'\ und\r\n\ 'minute'.\r\n
comment5.params=
comment5.target=java.lang.String\ gibUhrzeit()
comment5.text=\r\n\ Liefere\ die\ aktuelle\ Uhrzeit\ dieser\ Uhrenanzeige\ im\ Format\ SS\:MM.\r\n
comment6.params=
comment6.target=void\ anzeigeAktualisieren()
comment6.text=\r\n\ Aktualisiere\ die\ interne\ Zeichenkette,\ die\ die\ Zeitanzeige\ h\uFFFDlt.\r\n
numComments=7

View File

@ -17,6 +17,7 @@ public class Uhrenanzeige
{ {
private Nummernanzeige stunden; private Nummernanzeige stunden;
private Nummernanzeige minuten; private Nummernanzeige minuten;
private Nummernanzeige sekunden;
private String zeitanzeige; // simuliert die tatsächliche Anzeige private String zeitanzeige; // simuliert die tatsächliche Anzeige
/** /**
@ -27,6 +28,7 @@ public class Uhrenanzeige
{ {
stunden = new Nummernanzeige(24); stunden = new Nummernanzeige(24);
minuten = new Nummernanzeige(60); minuten = new Nummernanzeige(60);
sekunden = new Nummernanzeige(60);
anzeigeAktualisieren(); anzeigeAktualisieren();
} }
@ -36,11 +38,12 @@ 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)
{ {
stunden = new Nummernanzeige(24); stunden = new Nummernanzeige(24);
minuten = new Nummernanzeige(60); minuten = new Nummernanzeige(60);
setzeUhrzeit(stunde, minute); sekunden = new Nummernanzeige(60);
setzeUhrzeit(stunde, minute, sekunde);
} }
/** /**
@ -50,10 +53,13 @@ public class Uhrenanzeige
*/ */
public void taktsignalGeben() public void taktsignalGeben()
{ {
sekunden.erhoehen();
if(sekunden.gibWert() == 0) {
minuten.erhoehen(); minuten.erhoehen();
if (minuten.gibWert() == 0) { // Limit wurde erreicht! if (minuten.gibWert() == 0) { // Limit wurde erreicht!
stunden.erhoehen(); stunden.erhoehen();
} }
}
anzeigeAktualisieren(); anzeigeAktualisieren();
} }
@ -61,10 +67,11 @@ 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)
{ {
stunden.setzeWert(stunde); stunden.setzeWert(stunde);
minuten.setzeWert(minute); minuten.setzeWert(minute);
sekunden.setzeWert(sekunde);
anzeigeAktualisieren(); anzeigeAktualisieren();
} }
@ -82,6 +89,7 @@ public class Uhrenanzeige
private void anzeigeAktualisieren() private void anzeigeAktualisieren()
{ {
zeitanzeige = stunden.gibAnzeigewert() + ":" zeitanzeige = stunden.gibAnzeigewert() + ":"
+ minuten.gibAnzeigewert(); + minuten.gibAnzeigewert() + ":"
+ sekunden.gibAnzeigewert();
} }
} }

View File

@ -2,40 +2,43 @@
dependency1.from=Uhrenanzeige dependency1.from=Uhrenanzeige
dependency1.to=Nummernanzeige dependency1.to=Nummernanzeige
dependency1.type=UsesDependency dependency1.type=UsesDependency
package.editor.height=460 editor.fx.0.height=1416
package.editor.width=776 editor.fx.0.width=2576
package.editor.x=163 editor.fx.0.x=3432
package.editor.y=30 editor.fx.0.y=-8
objectbench.height=340
objectbench.width=1893
package.divider.horizontal=0.5555555555555556
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=1 package.numDependencies=1
package.numTargets=2 package.numTargets=2
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=797 readme.y=10
target1.editor.width=936
target1.editor.x=693
target1.editor.y=111
target1.height=50 target1.height=50
target1.name=Nummernanzeige target1.name=Nummernanzeige
target1.naviview.expanded=false target1.naviview.expanded=false
target1.showInterface=false target1.showInterface=false
target1.type=ClassTarget target1.type=ClassTarget
target1.width=120 target1.width=140
target1.x=190 target1.x=190
target1.y=100 target1.y=100
target2.editor.height=731
target2.editor.width=764
target2.editor.x=516
target2.editor.y=22
target2.height=50 target2.height=50
target2.name=Uhrenanzeige target2.name=Uhrenanzeige
target2.naviview.expanded=false target2.naviview.expanded=false
target2.showInterface=false target2.showInterface=false
target2.type=ClassTarget target2.type=ClassTarget
target2.width=100 target2.width=110
target2.x=70 target2.x=70
target2.y=40 target2.y=40