Hola,
queria implementar un método recursivo que imprima en forma descendente de 5 a 1 de uno en uno. Me encontre en internet con esto:
public class Recursividad {
void imprimir(int x) {
if (x>0) {
System.out.println(x);
imprimir(x-1);
}
}
public static void main(String[] ar) {
Recursividad re=new Recursividad();
re.imprimir(5);
}
Pero tengo un problema:
Que significa System.out.println?
Gracias y saludos
Pues
System.out.println(' Lo que hace es imprimir por la consola de tu preferencia Netbeans o Eclipse o IntellyJ lo que pongas entre paréntesis');
System.out.println("El código que muestras es para Java");
System.out.println("En tu caso imprime el valor de x que es una integer");
System.out.println("Por otro lado la recursividad es una función que se llama asi misma");
System.out.println("En el código que muestras se llama de esta manera imprimir(x-1); pasando como parámetro x-1 " );
System.out.println('"Con lo cual cuando llegué a cero ya no imprimirá el valor de x " );
Espero haber aclarado tu duda brother...!
Ahhh muchisimas gracias!!! Hermano
Creio que era para C#.
Entonces si lo quiero hacer para C# creeria que tendria que reemplazar el System.out.println por Console.Write.
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Ahhh muchisimas gracias!!! Hermano
Creio que era para C#.
Entonces si lo quiero hacer para C# creeria que tendria que reemplazar el System.out.println por Console.Write.
La lógica sería la misma, solo tendrías que cambiar la sintaxis.
Doy el tema por resuelto.
Saludos.
Efectivamente amigo así es tienen tanta similitud los códigos de ambos lenguajes ¡Yo! no tengo ni idea de C# y cuando leo códigos en la mayoría de los casos los comprendo a la perfección.
Saludos y cualquier cosa que podamos ayudar aquí estamos yo me considero un aprendiz y me gusta ayudar porque siempre se aprenden cosas nuevas cuando uno ayuda.
Hola de nuevo,
la duda del codigo esta resuelta. Pero tengo un ultimo codigo del mismo tema todavia.
Se los paso:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Recursividad6
{
class Recursivdad
{
int[] vec = { 312, 614, 88, 22, 54 };
void Ordenar(int[] v, int cant)
{
if (cant > 1)
{
for (int f = 0; f < cant - 1; f++)
{
if (v[f] > v[f + 1])
{
int aux = v[f];
v[f] = v[f + 1];
v[f + 1] = aux;
}
}
Ordenar (v, cant - 1);
}
}
void Procesar()
{
Ordenar(vec, vec.Length);
}
void Imprimir()
{
for (int f = 0 ; f < vec.Length ; f++)
Console.WriteLine (vec [f] + " ");
Console.WriteLine();
}
static void Main(string[] args)
{
Recursivdad r = new Recursivdad();
r.Imprimir();
r.Procesar();
r.Imprimir();
Console.ReadKey();
}
}
}
Bueno por ser tan complicado (para mi)(hasta el mas complicado con el que me tope), tengo muchas preguntas. La primera esta en este metodo:
void Procesar()
{
Ordenar(vec, vec.Length);
}
En vec se pasa como parametro estos elementos?: { 312, 614, 88, 22, 54 }
Gracias y saludos
Sí, mete ese vector, después dentro de la función vuelve a llamar a la misma función y entra el mismo vector pero con los números en otro orden, ese código si no has programado nunca puede ser dificil de entender, hay formas de ordenar mas sencillas que no llevan a cabo recursividad.
Buena rollth,
que torpe de mi parte verlo complicado. Gracias!!!