Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Recursion Problem i Java

    I ett Java -program , är en rekursiv metod en metod som kallar sig . Rekursiva metoder kan hjälpa programmerare att konstruera en kod utdrag för att förenkla ett problem . Rekursiva metoder också ofta verkar vara kortfattad , men att skapa en effektiv rekursiv funktion kan vara mycket utmanande . Som med loopar och andra kontrollstrukturer i Java , utvecklare måste arbeta igenom vad som ska hända när en rekursiv funktion exekverar . Rekursiva metoder orsaka en rad vanliga problem när inte korrekt strukturerade . Problemlösning Fel

    Programmerare använder rekursiva metoder för att lösa särskilda problem . Naturligtvis en rekursiv metod inte kommer att ge användbar funktion om det inte löser problemet den var avsedd för . Detta händer ibland när programmeraren har valt att använda en rekursiv funktion där det inte är lämpligt . Generellt är en rekursiv metod idealisk för situationer där du behöver för att lösa ett problem med hjälp av iterativa steg . Varje gång metoden körs , bör det göra problemet enklare och föra ditt program ett steg närmare att lösa det . Slutresultatet av den rekursiva metoden bör vara lösningen på ditt problem , till exempel lokalisering av ett element i en datainsamling objekt .
    No End Case

    För en rekursiv funktion för att arbeta utan att få ditt program fastnat i en oändlig loop , måste den ha en väldefinierad end fallet . Detta innebär att det måste finnas ett slutligt utförande , snarare än metoden verkställande oändlighet . Programmerare genomför ofta detta med villkorssatser inuti metoden , som i följande exempel : public void doItRecursively ( int num ) {if ( num < 1 ) return ; else { System.out.println ( num ) ; doItRecursively ( num /2 ) ; } }

    att kalla denna funktion , kan ett program använda följande kod : doItRecursively ( 10 ) ,

    i detta fall funktionen kommer att utföra fem gånger , spännande på femte iteration . Varje gång metoden exekverar den kommer närmare slutet scenario , då det villkorliga if-sats kontrollerar för . Om metoden inte innehåller villkorlig uppgift , skulle det iterera oändlighet .
    Ingen rekursivitet

    Räknaren frågan till ett oändligt looping iterativ metod är en metod som inte iterera alls. Detta händer även när villkorlig uppgift inte är korrekt utformad . Till exempel , med tanke på den " doItRecursively " metoden , följande ändras om uttalande skulle orsaka ett problem : if ( num > 0 ) return ;

    Om metoden bara kallas med positiva heltalsvärden som parameter , dess innehåll kommer aldrig att iterera som slutpunkt ska ha nåtts genast .
    Felaktigt metodanrop
    p Om programmeraren kräver en rekursiv metod inte har en klar uppfattning om dess funktion , kan de använda den på ett sätt som orsakar ändlösa iteration eller ingen iteration . Till exempel kan följande förändrad villkorad koden i metoden lätt kallas felaktigt : if ( num < 0 ) return ;

    Om metoden bara kallas med positiva heltal parametervärden , kommer det aldrig att nå denna slutpunkt och kommer att orsaka en oändlig loop . Rekursiva metoder kan orsaka många av samma fallgropar som loopar , så de kräver praxis för effektivt genomförande .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur du tilldelar ett dolda värdet från en rullgardins…
    ·Java Splash Screen Tutorial
    ·Fördelarna med JDK 1.6
    ·Konvertera Streamsource till en sträng i Java
    ·Hur man installerar Java Virtual Machine
    ·Hur man gör en JavaScript-motor
    ·Hur man gör ett mönster av asterisker Java
    ·Hur man bort JPA i Java
    ·Hur man gör en Java Hit Counter
    ·Hur man beräknar vokalerna , Spaces och konsonanterna …
    Utvalda artiklarna
    ·Hur redigerar jag en listvy på Visual Basic
    ·Lägga Surface Detail till 3D-modeller
    ·Hur Input exponenter i C
    ·Hur man använder Målsökning i Visual Basic
    ·Lista de datatyper som används i Deklarera variabler
    ·Hur Override en iframe i JavaScript
    ·Hur man skriver algoritmer för nybörjare
    ·Hur man kan utveckla ActiveX komponenter
    ·Hur konvertera en STD sträng till ett heltal
    ·Hur man gör filtrering i en listruta i VB.NET
    Copyright © Dator Kunskap http://www.dator.xyz