EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
Configura come lingua predefinita
Domande di PF - Cose da fare

Come aggiungere numeri utilizzando la ricorsione su Java

Sto studiando ricorsione e pensato a fare qualche esempio. Mi mostra il codice che provo ad aggiungere i numeri dei 1 per la 5, cui il risultato sarebbe 15, Ma mi riporta indietro 16.

Cosa posso fare di sbagliato?

static void Main (string[] args) {
   Console.WriteLine(Sum(5));
   Console.Read();
}

static int Sum (int value) {
   if (value > 0) {
      return value + Sum(value-1);
   }
   else {
      return 1;
   }
}

 

Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page
jesus_coam fa frequenti 7 anni
1 Risposte

Una funzione Ricorsive è una funzione nel cui codice si chiama. Nel suo codice è possibile trovare il caso ricorsivo, che è dove la funzione effettua la chiamata a se stessa, E la caso di base, dove non fa questo tipo di chiamate.

Così posso vedere nel codice, il caso ricorsivo è quando valore è maggiore di 0, E la caso di base è quando valore vale la pena 0. Ma stai dando indietro 1, quando il valore vale la pena 0, che non è giusto.

La cosa giusta da fare sarebbe che il ritorno della caso di base Era 0.

Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page
Joshua ha detto rende 7 anni