Hallo zusammen,
ich soll ein Programm schreiben, welches ähnlich einer Uhr fungiert.
Also es gibt die Attribute sec. min und hour. Ich denke das erklärt sich von selbst. Dann gibt es zur Unterscheidung vormittag / nachmittag das Attribut flag (früh= true, abend= false). Die Uhr funktioniert also im 12 stunden Takt. Nach 12:59:59 kommt also 1:0:0. Dann gibt es einen Konstruktor, der die Werte initialisieren soll (dabei drauf achten 1<= hour <=12, usw.), eine Methode print, die die Zeit ausgibt (sie enthält einen Parameter country => ist der ''en'', so erscheint die zeit im 12-stunden vormat mit am oder pm hinten; ist er hingegen ''deu'' so erscheint die zeit im 24-studen format) und zu guter letzt ist noch die Methode takt enthalten (wird sie aufgerufen, ist eine sekunde vergangen und demzufolge müssen sich die werte ändern).
Nun habe ich das Rahmenprogramm vorgegeben:
Mein grundlegendes Problem ist, dass ich nichts mit Klassen anfangen kann. Ich weiß, dass es sie gibt, aber ich kann nicht mit ihnen umgehen. Folglich ist meine Programmierung so als gäbe es keine Klassen.
Ich weiß halt nicht wo
public void main(String args[])
hin muss oder was ich mit "this." anfangen soll. Mich würde auch interessieren, wo ich nun eigtl die Werte initialisieren muss. Noch in der Haupt/Überklasse oder in irgendeiner Unterklasse?
Ich bedanke mich schon mal für die Hilfe
Hier mein (e Idee? ) :
ich soll ein Programm schreiben, welches ähnlich einer Uhr fungiert.
Also es gibt die Attribute sec. min und hour. Ich denke das erklärt sich von selbst. Dann gibt es zur Unterscheidung vormittag / nachmittag das Attribut flag (früh= true, abend= false). Die Uhr funktioniert also im 12 stunden Takt. Nach 12:59:59 kommt also 1:0:0. Dann gibt es einen Konstruktor, der die Werte initialisieren soll (dabei drauf achten 1<= hour <=12, usw.), eine Methode print, die die Zeit ausgibt (sie enthält einen Parameter country => ist der ''en'', so erscheint die zeit im 12-stunden vormat mit am oder pm hinten; ist er hingegen ''deu'' so erscheint die zeit im 24-studen format) und zu guter letzt ist noch die Methode takt enthalten (wird sie aufgerufen, ist eine sekunde vergangen und demzufolge müssen sich die werte ändern).
Nun habe ich das Rahmenprogramm vorgegeben:
Java:
public class Clock {
int sec, min, hour; // Sekunden, Minuten, Stunden
boolean flag; // true = am | false = pm
// Parameter: s = Sekunde | m = Minute | h = Stunde | f = flag
public Clock (int s, int m, int h, boolean f) {
// Anweisungen siehe Aufgabenstellung
}
public void print (String country) {
// Anweisungen siehe Aufgabenstellung
}
public void takt() {
// Anweisung siehe Aufgabenstellung
}
}
Mein grundlegendes Problem ist, dass ich nichts mit Klassen anfangen kann. Ich weiß, dass es sie gibt, aber ich kann nicht mit ihnen umgehen. Folglich ist meine Programmierung so als gäbe es keine Klassen.
Ich weiß halt nicht wo
public void main(String args[])
hin muss oder was ich mit "this." anfangen soll. Mich würde auch interessieren, wo ich nun eigtl die Werte initialisieren muss. Noch in der Haupt/Überklasse oder in irgendeiner Unterklasse?
Ich bedanke mich schon mal für die Hilfe
Hier mein (e Idee? ) :
Java:
public class Clock {
public static void main(String args[]) {
int sec, min, hour;
boolean flag; // true = am | false = pm
public Clock (int s, int m, int h, boolean f) {
if(this.s>=0 && this.s<=60) {
this.sec=this.s;
}else{
System.out.println("Der Wert für Sekunden muss zwischen 0 und 59 liegen!");
}
if(this.m>=0 && this.m<=60) {
this.min=this.m;
}else{
System.out.println("Der Wert für Minuten muss zwischen 0 und 59 liegen!");
}
if(this.h>=1 && this.h<=12) {
this.hour=this.h;
}else{
System.out.println("Der Wert für Stunden muss zwischen 1 und 12 liegen!");
}
this.flag=this.f;
}
public void print (String country) {
if(country.contains("de")) {
if(flag==true) {
System.out.println("Aktuelle Uhrzeit : "+hour+":"+min+":"+sec);
}else{
System.out.println("Aktuelle Uhrzeit : "+hour+12+":"+min+":"+sec);
}
}
if(country.contains("en")) {
if(flag==true) {
System.out.println("Aktuelle Uhrzeit : "+hour+":"+min+":"+sec+" am");
}else{
System.out.println("Aktuelle Uhrzeit : "+hour+":"+min+":"+sec+" pm");
}
}
}
public void takt() {
if(sec==59) {
sec=0;
min++;
if (min==60) {
min=0;
hour++;
if( 1==1 ) {
if(hour%12==11) {
if(flag==true) {
flag=false;
hour=0;
}else{flag=true;
hour=0;
}
}else{hour++;}
}else{
if(hour==23) {
hour=0;
}
}
}
}}
}}