Recursividad en Java

Iniciado por shigure-dark, 26 Agosto 2010, 06:10 AM

0 Miembros y 2 Visitantes están viendo este tema.

shigure-dark

Necesito que algien me diga o me enseñe como hacer que el la siguiente aplicacion de java sea recursiva:

package javaapplication1;
import java.io.*;

public class Tabla
{
    public static void main(String[] args)
    {
        int num=0,i;
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        try
        {
            do
            {
                System.out.print("Ingrese Numero");
                num=Integer.parseInt(br.readLine());
                }
            while(num<1);
            for(i=1;i<=10;i++)
            {
                System.out.println(num+"*"+i+"="+num*i);
            }
        }
        catch(Exception e)
        {
            System.out.println("Error de Ingreso de Número");
         }
    }

}

Lunfardo

#1

shigure-dark

El asunto es que ni siquiera se como se hace para que una aplicacion java sea recursiva y aunque leei otras publicaciones en ninguna de estas aparecia algo similar al problema mio solo quiero saber como se realiza la recursividad o mejor dicho como lo escribo en lenguaje java para poder intentar hacerlo yo solo.

Lunfardo

#3
mmm talves te convenga leer recursividades antes de hacer la tuya propia , no es de los temas mas faciles.


la idea de la recursividad es, por lo general, que la funcion se llame a si misma hasta que se cumpla una condicion y el bucle termine por la llamada a un "return" que devuelva una constante.


antes de hacer la tuya propia te conviene leer esos ejemplos y tratar de enterderlos.


shigure-dark

vale voy a hacerlo asi puede que algo me salga.



grax por el comentario :) :) :D ;D ;-)

ReySv

Hola, acabo registrarme, este es mi primer mensaje en el foro, la verdad no esta muy dificil, la recursividad puede ser un poco confusa al principio, pero con estudiar  y practicar, aprenderas a usarla. Aqui esta el codigo.

import javax.swing.JOptionPane;

public class Tabla {
    private int conta=1;
    private static int a;

    public static void main(String[] args) {
        String tex = JOptionPane.showInputDialog("ingrese un entero positivo");
        a = Integer.parseInt(tex);
        Tabla obj= new Tabla();
        obj.tablaRecursiva();
    }
    public void tablaRecursiva(){
        if (conta==10) {
            System.out.println(a+" * "+ conta +" = " +(a*conta));
        } else {
            System.out.println(a+" * "+ conta +" = "+ (a*conta));
            conta++;
            tablaRecursiva();
        }
    }
}

Este te lo hice rapido, no capture las excepciones, ni use BufferedReader ni InputStreamReader, porque me siento mas comodo con la clase JOptionPane, estudialo.
Aqui esta un pequeño metodo como ejemplo de recursividad, para el factorial de un numero para que lo estudies.

public int factorial(int n){
        if (n == 1) {
        return n;
        }else {
        return n * factorial(n-1);
    }
}

Leyer

#6