Hallo,
und zwar sollte Ich ein UML KLassen Diagramm in ein Code umformatieren. Indem es um Aufträge geht ( Um die Auftragsnummer, dem Besteller und ob diese Ausgeführt worden ist oder noch nicht).
Leider lässt es sich nicht ausführen wie gewünscht.
Hallo,
Ich versuche eine Auftragsnummer,Auftragsgeber sowie ob die Bestellung fertiggestellt ist oder nicht auszugeben.
Mein Lehrer hat uns für diese Aufgabe halt wie oben schon erwähnt ein UML Klassendiagramm vorgegeben.
Hallo,
hab den Code etwas berichtigt nach meinen Möglichkeiten. Leider bringt es immer noch nicht das Gewünschte Ergebnis.
Java:
publicvoid setAuftragFertiggestellt (boolean fertigung){this.auftragFertiggestellt=fertigung;boolean s =true;if(s){System.out.println("Auftrag Fertig");else{System.out.println("Auftrag in Bearbeitung");}}}
publicstaticvoidmain(String[] args){Auftrag erster =newAuftrag(2321,true,"Karl");System.out.println(erster.getAuftragsnummer());System.out.println(erster.getAuftraggeber());System.out.println(erster.getAuftragFertiggestellt());}
Hallo,
hab den Code etwas berichtigt nach meinen Möglichkeiten. Leider bringt es immer noch nicht das Gewünschte Ergebnis.
Java:
publicvoid setAuftragFertiggestellt (boolean fertigung){this.auftragFertiggestellt=fertigung;boolean s =true;if(s){System.out.println("Auftrag Fertig");else{System.out.println("Auftrag in Bearbeitung");}}}
publicvoid setAuftragFertiggestellt (boolean fertigung){this.auftragFertiggestellt=fertigung;boolean s =true;if(s){System.out.println("Auftrag Fertig");}else{System.out.println("Auftrag in Bearbeitung");}}
publicstaticvoidmain(String[] args){Auftrag erster =newAuftrag(2321,true,"Karl");System.out.println(erster.getAuftragsnummer());System.out.println(erster.getAuftraggeber());System.out.println(erster.getAuftragFertiggestellt());}
Danke für die Antwort jetzt wird schonmal die Auftragsnummer sowie der Auftraggeber ausgegeben. Ob der Auftrag ausgeführt würde oder noch nicht erscheint jetzt "true".
Im Setter wird immer nur was ausgegeben, wenn du den Setter auch aufrufst. Der Setter sollte auch nicht für Ausgaben zuständig sein. Er soll - wie der Name sagt - den boolean setzen.
Außerdem gibt dein Setter gerade *immer* "Auftrag fertiggestellt" aus
Im Setter wird immer nur was ausgegeben, wenn du den Setter auch aufrufst. Der Setter sollte auch nicht für Ausgaben zuständig sein. Er soll - wie der Name sagt - den boolean setzen.
Außerdem gibt dein Setter gerade *immer* "Auftrag fertiggestellt" aus
Hab mir ein paar Gedanken gemacht&ausprobiert,bräuchte aber einen kleinen Gedanken Anstoß wo ich jetzt meine if-Abfrage starten solle und mit was ich Sie verknüpfen solle.Da meine bisherigen Versuche zum scheitern verurteilt waren.
So ruft man auch keine Methoden auf. Außerdem vergleicht man primitive Datentypen mit ==. Nur ein = entspricht einer Zuweisung.
Zumal der Rückgabewert der Methode selbst bereits ein boolscher Ausdruck ist, daher musst du nicht noch mal auf true/false prüfen.
So ruft man auch keine Methoden auf. Außerdem vergleicht man primitive Datentypen mit ==. Nur ein = entspricht einer Zuweisung.
Zumal der Rückgabewert der Methode selbst bereits ein boolscher Ausdruck ist, daher musst du nicht noch mal auf true/false prüfen.
Das funktioniert so zwar allerdings solltest du
a) schon die Methoden nutzen (momentan greifst du auf den Member auftragFertiggestellt direkt zu
b) wie oben beschrieben boolsche Werte nicht noch mal auf true/false prüfen
Java:
if(erster.getAuftragFertiggestellt()){System.out.println("Auftrag ist fertig");}else{System.out.println("In Bearbeitung");}
1. Die Variable auftragFertiggestellt1 wird nirgends benutzt.
2. Der Zugriff über erster.auftragFertiggestellt funktioniert hier nur "zufällig". Du solltest hier den Methodenaufruf verwenden.
3. == true ist überflüssig.
Java:
if(erster.getAuftragFertiggestellt()){System.out.println("Auftrag ist fertig");}else{System.out.println("In Bearbeitung");}
Das funktioniert so zwar allerdings solltest du
a) schon die Methoden nutzen (momentan greifst du auf den Member auftragFertiggestellt direkt zu
b) wie oben beschrieben boolsche Werte nicht noch mal auf true/false prüfen
Java:
if(erster.getAuftragFertiggestellt()){System.out.println("Auftrag ist fertig");}else{System.out.println("In Bearbeitung");}
1. Die Variable auftragFertiggestellt1 wird nirgends benutzt.
2. Der Zugriff über erster.auftragFertiggestellt funktioniert hier nur "zufällig". Du solltest hier den Methodenaufruf verwenden.
3. == true ist überflüssig.
Java:
if(erster.getAuftragFertiggestellt()){System.out.println("Auftrag ist fertig");}else{System.out.println("In Bearbeitung");}
Danke an euch beide für die Mühe die ihr euch gibt. Bitte nehmt es mir nicht übel das Ich ab&zu noch grobe Fehler mache und eure Antworten nicht immer sofort umsetzten kann .
Den meisten, die hier antworten, geht es in erster Linie um Hilfe zur Selbsthilfe (zum Leidwesen mancher ) Gerade, wenn es um Grundlagen geht, werden die Antworten oft so formuliert, dass der Fragesteller nur in die richtige Richtung gelenkt wird und er die Möglichkeit bekommt, selbst auf die Lösung zu kommen. Der Aha-Effekt (und damit der Lerneffekt) ist dann einfach größer und es dürfte auch mehr Spaß machen als irgendetwas abzutippen, was man eh nicht kapiert.