H
HabNurEineFrage
Gast
Hallo, ich habe heute eine Informatikklausur zurückbekommen und habe hierbei ein Problem festgestellt. Ich fang einfach mal mit der entsprechenden Frage an. Ich kann sie leider nur sinngemäß wiedergeben, weil ich keine Unterlagen zurückbekommen habe.
Wir sollten eine rekursive Funktion schreiben, die prüft ob eine Zahl durch 3 Teilbar ist.
Mein Ansatz war folgender:
Ich meinte, dass jeder Fall einen Rückgabewert zugewiesen bekommt und im Falle der ersten beiden if-Abfragen, der jeweils für if definierte Rückgabewert genommen wird.
Jetzt habe ich das Programm aber ausprobiert und es funktioniert auch. Leider bin ich nun etwas verunsichert und wollte fragen, ob es an meiner Lösung etwas auszusetzen gibt und wenn ja wieso und ob evtl die einzelnen Fälle keinen Rückgabewert haben oder wieso mir hier ein Punkt abgezogen wurde.
Danke schon mal im vorraus für eure Hilfe.
Wir sollten eine rekursive Funktion schreiben, die prüft ob eine Zahl durch 3 Teilbar ist.
Mein Ansatz war folgender:
Java:
public boolean teilbarDurchDrei(int zahl) {
if(zahl == 0) {
return true; //Mein Lehrer meinte hier gäbe es zwei Rückgabe Werte
}
if(zahl > 0 && zahl < 3) {
return false; // Ebenso hier
}
if(zahl < 0) {
zahl = zahl * (-1); // Und hier gäbe es keinen Rückgabewert
}
return teilbarDurchDrei(zahl-3);
}
Jetzt habe ich das Programm aber ausprobiert und es funktioniert auch. Leider bin ich nun etwas verunsichert und wollte fragen, ob es an meiner Lösung etwas auszusetzen gibt und wenn ja wieso und ob evtl die einzelnen Fälle keinen Rückgabewert haben oder wieso mir hier ein Punkt abgezogen wurde.
Danke schon mal im vorraus für eure Hilfe.