S
Sue
Gast
hallo, ich sollte folgenden code (Modulo-Operator) in eine if-Anweisung umschreiben
gemeint ist eine Uhrenanzeigte 24h 60min
nehmen wir die 60min => 60 ist das limit also darf nach 59 nicht 60 kommen sondern 0 ==> gezählt wird also von 0-59
kann man das in eine if-Anweisung umschreiben ohne Modulo-Operator???
also etwa so:
if (wert > limit-1)
(wert = 0);
hier die Modulo-Version:
hier die komplette Klasse:
gemeint ist eine Uhrenanzeigte 24h 60min
nehmen wir die 60min => 60 ist das limit also darf nach 59 nicht 60 kommen sondern 0 ==> gezählt wird also von 0-59
kann man das in eine if-Anweisung umschreiben ohne Modulo-Operator???
also etwa so:
if (wert > limit-1)
(wert = 0);
hier die Modulo-Version:
Code:
public void erhoehen()
{
wert = (wert + 1) % limit;
}
hier die komplette Klasse:
Code:
public class Nummernanzeige
{
private int limit;
private int wert;
/**
* Konstruktor für Exemplare der Klasse Nummernanzeige
*/
public Nummernanzeige(int anzeigeLimit)
{
limit = anzeigeLimit;
wert = 0;
}
/**
* Liefere den aktuellen Wert als int.
*/
public int gibWert()
{
return wert;
}
/**
* Liefere den Anzeigewert, also den Wert dieser Anzeige als
* einen String mit zwei Ziffern. Wenn der Wert der Anzeige
* kleiner als zehn ist, wird die Anzeige mit einer führenden
* Null eingerückt.
*/
public String gibAnzeigewert()
{
if(wert < 10)
return "0" + wert;
else
return "" + wert;
}
/**
* Setze den Wert der Anzeige auf den angegebenen 'ersatzwert'.
* Wenn der angegebene Wert unter Null oder über dem Limit liegt,
* tue nichts.
*/
public void setzeWert(int ersatzwert)
{
if((ersatzwert >= 0) && (ersatzwert < limit))
wert = ersatzwert;
}
/**
* Erhöhe den Wert um Eins. Wenn das Limit erreicht ist, setze
* den Wert wieder auf Null.
*/
public void erhoehen()
{
wert = (wert + 1) % limit;
}
}