J
jbjb
Hallo!
Ich habe eine sehr simple Uhr in BlueJ programmiert (deren Zeit sich nur per Hand ändern lässt).
Die Frage: Wie kann ich z.B. erhoeheWert() in Uhrzeit schreiben, sodass sie später in BlueJ auswählbar ist? Sie soll dann jeweils Stunde oder Minute verändern können.
2 Klassen:
und:
Ich habe eine sehr simple Uhr in BlueJ programmiert (deren Zeit sich nur per Hand ändern lässt).
Die Frage: Wie kann ich z.B. erhoeheWert() in Uhrzeit schreiben, sodass sie später in BlueJ auswählbar ist? Sie soll dann jeweils Stunde oder Minute verändern können.
2 Klassen:
Code:
public class Uhrzeit
{
private Nummernanzeige stunde;
private Nummernanzeige minute;
private String zeit;
public Uhrzeit (int limitStunde, int limitMinute, int neuStunde, int neuMinute)
{
stunde = new Nummernanzeige(limitStunde);
minute = new Nummernanzeige(limitMinute);
stunde.setzeWert(neuStunde);
minute.setzeWert(neuMinute);
}
public Uhrzeit (int neuStunde, int neuMinute)
{
stunde = new Nummernanzeige(59);
minute = new Nummernanzeige(23);
stunde.setzeWert(neuStunde);
minute.setzeWert(neuMinute);
}
public String zeigeUhrzeit()
{
zeit= ""+stunde.gibWert()+":"+minute.gibWert();
return zeit;
}
}
und:
Code:
public class Nummernanzeige
{
private int ziffernpaar;
private int limit;
private String neuziffernpaar;
public Nummernanzeige(int limit)
{
setzeLimit(limit);
}
public void setzeLimit(int neuesLimit)
{
limit = neuesLimit;
}
public void setzeWert(int neuWert)
{
ziffernpaar = neuWert;
pruefeWert();
}
public void erhoeheWert()
{
ziffernpaar += 1;
pruefeWert();
gibWert();
}
public void pruefeWert()
{
if (ziffernpaar < 10 && ziffernpaar >= 0)
{
neuziffernpaar = "0"+ziffernpaar;
}
else if (ziffernpaar > limit || ziffernpaar < 0)
{
ziffernpaar = 0;
System.out.println("Sie haben einen ungültigen Wert eingegeben!");
}
else if (ziffernpaar % limit == 0)
{
ziffernpaar += 1;
neuziffernpaar = ""+ziffernpaar;
}
else
{
neuziffernpaar = ""+ziffernpaar;
}
}
public String gibWert()
{
pruefeWert();
return neuziffernpaar;
}
}