Recursividade

Pessoal sou novato em Java, e tenho uma dificil missão,pelo menos pra mim, kkkkkkkkk’ . Criar um método recursivo , se caso o valor seja igual a 1, páre a execução. Caso contrário, chame-o recursivamente passando"valor-1" como parâmetro, logo pós isso imprimir os numeros pares. Me ajudem pessoal, muita dificuldade mesmo.

Repito, ja fez algo?

Num tenho a mínima idéia de como começar, =/

Sua dificuldade é a de ler o enunciado, não?

Primeira coisa: criar um método recursivo. Um método recursivo é um método que se chama a si mesmo. Digamos que o nome do método é f e seu parâmetro é n (ele diz que tem um parâmetro só).
Segunda coisa: sabe como imprimir um número SE o número for par ? Não se esqueça que um número é par se o resto da divisão por 2 é zero. O operador que retorna o resto da divisão é o “%”.

Da uma olhada vê se vc entende.

[code]public static void main(String[] args) {

	teste(10);
	
}

static int teste(int n){
	
	
	if(n == 1){
		
		return 1;
		
	}else if((n % 2) == 0){
		
		System.out.println(n);
	
	}
	
	return teste(n-1);
		
}[/code]
1 curtida

[quote=evertonsilvagomesjava]Da uma olhada vê se vc entende.

[code]public static void main(String[] args) {

	teste(10);
	
}

static int teste(int n){
	
	
	if(n == 1){
		
		return 1;
		
	}else if((n % 2) == 0){
		
		System.out.println(n);
	
	}
	
	return teste(n-1);
		
}[/code][/quote]

acho que mais certo seria assim:

public void teste(int n) {
   if (n == 1) {
      return;
   } 
   teste(n - 1);
   if ((n % 2) == 0) {
      System.out.println(n);
   }
}

Eu entendi como fazer para imprimir caso o numero seja par.
Mais nesse seu exemplo ja chama o metodo recursivo? se possivel, teria como comentar pra saber distinguir o que cada coisa faz. Obrigado, desculpa mais ainda estou em fase de aprendizado. Abraços.

uma pesquisada no google não mata ninguem

http://www.google.com.br/#hl=pt-BR&source=hp&biw=1276&bih=787&q=Recursividade+&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=1ebf80b94aca3a8c

Para discutir sobre recursividade, vá para esse tópico aqui: http://www.guj.com.br/posts/list/219751.java

[color=yellow](desculpem, não resisti à piada!)[/color]

[quote=thiagobaptista]Para discutir sobre recursividade, vá para esse tópico aqui: http://www.guj.com.br/posts/list/219751.java
[/quote]

:slight_smile:

[quote=thiagobaptista]Para discutir sobre recursividade, vá para esse tópico aqui: http://www.guj.com.br/posts/list/219751.java

[color=yellow](desculpem, não resisti à piada!)[/color][/quote]

[REMOVIDO, CONTEÚDO OFENSIVO]

[color=yellow](desculpem, não resisti à piada!)[/color]

Parece que alguém ainda não entendeu a recursividade…

[quote=pmlm][quote=bolad?]
[REMOVIDO - CONTEÚDO OFENSIVO]
[/quote]
Parece que alguém ainda não entendeu a recursividade…[/quote]

processo de repetição de um objeto de um jeito similar ao que já fora mostrado…

[color=orange]
Parece que alguém ainda não entendeu a recursividade… kkkk[/color]

[quote=marcosharbs][quote=evertonsilvagomesjava]Da uma olhada vê se vc entende.

[code]public static void main(String[] args) {

	teste(10);
	
}

static int teste(int n){
	
	
	if(n == 1){
		
		return 1;
		
	}else if((n % 2) == 0){
		
		System.out.println(n);
	
	}
	
	return teste(n-1);
		
}[/code][/quote]

acho que mais certo seria assim:

public void teste(int n) { if (n == 1) { return; } teste(n - 1); if ((n % 2) == 0) { System.out.println(n); } } [/quote]

Obvio que não.