Also habe ich versucht, Rekursion bisher zu üben und ich blieb stecken.Boolesche Rekursionsmethode
Ich muss eine Methode schreiben, die Art von bool
ist und zwei Parameter (Array von Ints und Int). Die Methode selbst sollte prüfen, ob Zahlen im Array größer als 1000 sind.
Abhängig vom zweiten Parameter sollten nur diese Zahlen überprüft werden. Wenn also das Array 4, 5, 1001, 1003
ist und der zweite Parameter 3
ist, sollten nur die ersten 3 Werte im Array überprüft werden (4,5,1001
). In diesem Fall sollte es false zurückgeben, weil 4 und 5 kleiner als 1000 sind. Aber wenn die ersten 3 Werte größer als 1000 sind, sollte die Methode wahr ergeben.
Dies sind die Reste meiner Methode. Ich habe es schon oft versucht.
Ich bin ein wenig verwirrt, wie es mit arbeiten soll.
public bool sumofD(int [] x , int n)
{
if (x[n] < 1000)
{ return false; }
else
{
sumofD(x, n - 1);
return true;
}
}
Sie möchten 'sumofD (x, n-1)' sicher zurückgeben? Hier sagst du, bis 'x [n] <1000 'weiterhin' n-1' ausführt. Eine while-Schleife würde dieser Situation besser entsprechen –
Ich muss wahr oder falsch zurückgeben, aber die Methode sollte rekursiv geschrieben werden – Alex
Sie könnten diese besser lesbare LINQ-Version verwenden: 'bool allGreaterEqual1000 = x.Take (n-1) .All (i => i> = 1000) ' –