Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
Problemas Recursão em Java
Em um programa Java, um método recursivo é um método que chama a si mesmo . Métodos recursivas podem ajudar os programadores a criar um trecho de código para simplificar um problema. Métodos recursivas também muitas vezes parecem ser conciso , mas a criação de uma função recursiva eficaz pode ser muito desafiador. Tal como acontece com loops e outras estruturas de controle em Java , os desenvolvedores tem que trabalhar com o que vai acontecer quando uma função recursiva é executada. Métodos recursivas causar uma série de problemas comuns quando não corretamente estruturado. Resolução de Problemas Failure

programadores usam métodos recursivas para resolver problemas particulares. Naturalmente um método recursivo não fornecer funcionalidade útil se ele não resolver o problema, ele foi projetado para. Isso às vezes acontece quando o programador optou por usar uma função recursiva em que não é apropriado. Geralmente, um método recursivo é ideal para situações em que você precisa para resolver um problema usando passos iterativos . Cada vez que o método é executado , ele deve tornar o problema mais simples e trazer o seu programa a um passo de resolvê-lo. O resultado final do método recursivo deve ser a solução para o seu problema, por exemplo, a localização de um elemento em um objeto de coleção de dados.
No fim do caso

Para uma função recursiva para trabalhar sem que seu programa preso em um loop infinito, ele deve ter um caso final bem definido. Isto significa que tem de haver uma execução final , em vez do método de execução indefinidamente . Programadores costumam implementar isso usando instruções condicionais dentro do método , como no seguinte exemplo : public void doItRecursively (int num) {if ( num < 1 ) return ; else { System.out.println ( num) ; doItRecursively (num /2) ;}}

Para chamar esta função , um programa pode usar o seguinte código : doItRecursively (10);

Neste caso, a função será executada cinco vezes , saindo na quinta iteração. Cada vez que o método é executado ele se aproxima do cenário final , que o condicional if verifica para . Se o método não continha a instrução condicional , seria iterar indefinidamente.
Sem recursão

A questão contra um método iterativo infinitamente looping é um método que não interagir de todo. Isso também acontece quando a instrução condicional não está bem estruturado. Por exemplo, dado o método de " doItRecursively " , a seguinte declaração alterada se iria causar um problema: se (num > 0) return;

Se o método só é chamado com valores inteiros positivos como o parâmetro , a sua conteúdo nunca irá iterar como o ponto final terá sido atingido de imediato.
método incorreto chamadas

Se o programador chamar um método recursivo não tem uma compreensão clara sua função , eles podem usá-lo de uma maneira que faz com que a iteração infinita ou nenhuma iteração. Por exemplo , o seguinte código condicional alterado dentro do método poderia facilmente ser chamado incorretamente : if ( num < 0 ) return ;

Se o método só é chamado com os valores dos parâmetros inteiros positivos , ele nunca vai chegar a este ponto final e irá causar um loop infinito. Métodos recursivas pode causar muitas das mesmas armadilhas como loops, para que eles requerem prática para uma implementação eficaz .

Anterior :

Próximo : No
  Os artigos relacionados
·Como criar um aplicativo para Evo 
·Como declarar um construtor em Java 
·Diferentes técnicas de depuração para Java 
·As diferenças entre JSP & JSPF 
·Como acessar a API do Android LinkedIn 
·Como converter AWT para balanço 
·Como usar AIML Bot em aplicações Java 
·Byte Código Engenharia Reversa Java 
·Como Anexar a um processo Java em execução 
·O que é o NetBeans Desenvolvimento 
  Artigos em destaque
·Como converter decimais para binários assinados 
·Uma explicação de XBlite 
·Quais são os tipos de casos de Dados de Instruções 
·Qual é a diferença entre JVM Memória & Heap Size 
·Como INT em C + + para os números reais 
·Como fazer cordas minúsculas em C + + 
·Como criar um aplicativo de console C , que atua como u…
·O que é um conjunto de dados em Codificação 
·Diferença entre Interpretado & Compilado Língua 
·Como fechar um loop para usar o C + + 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados