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.
ich habe die aufgabe soweit fertig und mir fehlen nur noch 10 punkte,
mein korrektor meinte ich muss das in Methoden splitten, da diese mehreren ifs nicht schön wären und in oc regeln ein verstoß wäre.
daher meine frage wie kann ich das in einzelne Methoden splitten
Java:
public Richtung nachRechtsDrehen(){
if(this.equals(makeNorden()))return makeOsten();
if(this.equals(makeOsten())) return makeSueden();
if(this.equals(makeSueden()))return makeWesten();
return makeNorden();
}
wie kann ich die if bedinungen so aufteilen, dass ich am ende jede if bedinung ein einzelne methoden abe?
Die anderen Beiträge sind doch langweilig: Optimierung hier, Maschinencode da, ein paar windige Rekursionen über Bäume, Travelling Salesman, Java EE, Android usw. Bei @Heyoka955 kommen die wirklich harten Sachen dran: Marsroboter. Wenn wir die schaffen, verdienen wir vielleicht auch mal 100 k€/Jahr.
Sehr gut zusammengefasst. (Ja, andere Themen sind langweilig, aber nu muss ich nicht alle lesen und bin trotzdem auf dem neusten Stand ) Außerdem muss so ein Marsroboter gut vorbereitet werden, eine Reise dorthin dauert immerhin 15 Monate. (Das hieße auch, 15 Monate Ruhe vor Heyoka955 )
Weil die Lösung zeigst, dass du die Regel nicht verstanden hast und dir vermutlich die Java-Grundlagen fehlen, und du so sie Regel gar nicht umsetzen kannst. (Und das ganze einfach echt scheiße ist: "pruefeNord" dreht den Roboter von Süden nach Westen, völlig ersichtlich, oder?)
Ein if-else ganz stumpf auf rekursive Methoden aufzuteilen, ist einfach kein sinnvolles Refactoring.
Du hast doch schon mal eine Kompaßrose gesehen, oder? Darin sehen wir einen horizontalen Kreis von 360 Grad. Damit ist ein Drehen an sich ganz einfach.
Java:
class Richtung{
int direction;
public Richtung(){
direction=0;
}
public void ShowDirection(){
return direchtion;
}
public void turn(){
direction++;
if (direction==4)
direction=0;
}
}
Du hast doch schon mal eine Kompaßrose gesehen, oder? Darin sehen wir einen horizontalen Kreis von 360 Grad. Damit ist ein Drehen an sich ganz einfach.
Java:
class Richtung{
int direction;
public Richtung(){
direction=0;
}
public void ShowDirection(){
return direchtion;
}
public void turn(){
direction++;
if (direction==4)
direction=0;
}
}