feed twitter facebook LinkedIn facebook

Java » Tablas de multiplicar recursivas en Java

febrero 12, 2008 por Víctor Cuervo 12 Comentarios Imprimir Imprimir

Una forma sencilla de crear un programa que genere las tablas de multiplicar lo podéis encontrar en Tablas de multiplicar en Java. En él, mediante un simple bucle se van generando las diferentes lineas con las multiplicaciones.

Si bien, las tablas de multiplicar se prestan a ser resueltas mediante programación recursiva. La programación recursiva es aquella que utiliza un mismo método que se llama de forma recursiva para resolver un problema. Otros ejemplos de fácil resolución de forma recursiva serían el calculo de un sumatorio, factorial,...

El método que implementara las tablas de multiplicar recursivas en Java será multiplicar. Este recibirá como parámetros el número de la tabla de multiplicar y el número en el que se quiere terminar. Quedándonos la siguiente signatura:

  1. public static void multiplicar(int iTabla, int iNumero){...}

Todo método recursivo tiene tres partes.

  • El control de fin de ejecución
  • La llamada recursiva al mismo método
  • El propio contenido del método

El control del fin será cuando se llegue a 1. Entonces, si no hemos llegado, llamamos recursivamente:

  1. if (iNumero>1)
  2. multiplicar(iTabla,iNumero-1);

Eso sí, cuando utilizamos la recursividad hay que ir decrementando el número, para que llegue en algún momento a control de fin.

Solo nos quedará el ejecutar la multiplicación en cada una de las iteraciones:

  1. System.out.println(iTabla + "x" + iNumero + "=" + iTabla*iNumero);

El código de todo el método sería el siguiente:

  1. public static void multiplicar(int iTabla, int iNumero){
  2.  
  3. if (iNumero>1)
  4. multiplicar(iTabla,iNumero-1);
  5.  
  6. System.out.println(iTabla + "x" + iNumero + "=" + iTabla*iNumero);
  7. }

Y la llamada al método:

  1. multiplicar(3,10);

Visualizar el ejemplo
|- Descargar el código
|- Descargar del SVN
|- Reportar un error del código

tags: , ,

Artículos relacionados:

12 comentarios »

RSS feed para los comentarios de esta entrada. TrackBack URI

1 2
  1. marce
    febrero 13, 2008 #

    gracias por la ayuda me sirvio bastante.

    ahora necesito es el del vector tambien en forma recursiva e iteractiva en java que busque y ordene el vector que pena por la molestia y de nuevo muchas gracias.
    este lo necesito lo mas pronto posible por favor ahh y tembn que tenga un contador de tiempo
    urgente!!!!!°!!!!!
    byeeeeeee

  2. mauricio martinez
    junio 6, 2008 #

    necesito por las tabals de multiplicar pero en P.O.O, creando primero la clase, luego inicializando y luego creando el programa principal

    gracias

  3. vania
    agosto 10, 2008 #

    hola xabi yo soy vania alrcon y me gustan kalrta tus kanciones te pasaste y quiero aprender amultiplicar ocea las tablas,tengo 9 años y me cuesta aprender las tablas ayudame con tus canciones plissss grasias la vania

    ery bakan…
    muak——————————–

  4. natalia tarazona
    octubre 28, 2008 #

    necesito el programa de una lista recursiva en java q busque y ordene los objetos de la lista, tambien necesito el codigo de lista encadenada sencilla y doble.

  5. leo
    diciembre 2, 2008 #

    pues necesito un programa que me genere 10 subconjuntos
    con (a,b,c,d,e)
    utilizando recursividad
    es muy urgente
    alguien me puede ayudar

  6. mauricio
    enero 26, 2009 #

    import javax.swing.*;
    public class CalculoRecursivo {

    private int a, b, c, abc;
    String resultado, r;

    public CalculoRecursivo() {

    int n;
    int m;

    String N=JOptionPane.showInputDialog(“Introduce el valor de n”);
    String M=JOptionPane.showInputDialog(“Introduce el valor de m”);

    n=Integer.parseInt(N);
    m=Integer.parseInt(M);

    }

    public static void main(String[] args) {
    CalculoRecursivo cadena=new CalculoRecursivo();

    }
    private double cadenaRecursiva(double n, double m){
    if(n>1){

    resultado=(a*cadenaRacursiva(n-1)+b*cadenaRecursiva(m-1)+c*cadenaRecursiva(n*m));
    r=(resultado*cadenaRecursiva(n-1));
    JOptionPane.showMessageDialog(null,”El resultado es “+r);

    }
    else {

    return abc;

    }

    }
    }
    se supone que este codigo debe dar como resultado ejemplo n=2 m=3 aabbbccccccaabbbcccccc cual es mi error

  7. lineadecodigo
    enero 27, 2009 #

    @mauricio,

    Haznos llegar un código que compile al correo y lo echamos un ojo…

  8. linda
    febrero 14, 2009 #

    codigo q calcule el area de de un triangulo formul;a a=b*h/2

  9. angelica arteaga
    abril 22, 2009 #

    static public void triangulo(int b, int h)
    {
    int area;

    area=(b*h)/2;

    System.out.println(“El area del triangulo es:”+ area);

    }

  10. Libia
    octubre 8, 2009 #

    Hola!

    Encontré esta página, por lo tanto me atrevo a pedirte ayuda. Me piden Diseñar un programa que muestre los multiplos de 4 entre 60 y 20 acompañados de su logaritmo de base 10 y base e respectivos.

    Gracias!

1 2

Deja un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*