Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
UML Klassen Diagramm zu Java Code Programmieren und ausführen
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.
Bin für jede Hilfe dankbar !
Java:
package auftrag;
public class Auftrag {
private int auftragsnummer;
private boolean auftragFertiggestellt;
private String auftraggeber;
public Auftrag (int nummer,boolean fertigung,String name){
auftragsnummer=nummer;
auftragFertiggestellt=fertigung;
auftraggeber=name;
}
public void setAuftragsnummer (int nummer){
this.auftragsnummer=nummer;
}
public int getAuftragsnummer(){
return auftragsnummer;
}
public void setAuftragFertiggestellt (boolean fertigung){
this.auftragFertiggestellt=fertigung;
boolean s =true;
if(s){
return fertigung= true;
else{
return fertigung=false;
}
}
public boolean getAuftragFertiggestellt(){
return auftragFertiggestellt;
}
public void setAuftraggeber (String name){
this.auftraggeber=name;
}
public String getAuftraggeber(){
return auftraggeber;
}
public static void main(String[] args) {
Auftrag erster = new Auftrag(2321;true,"Karl");
System.out.println(erster);
}
}
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.
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
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
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.