Mostrando las entradas con la etiqueta java se. Mostrar todas las entradas
Mostrando las entradas con la etiqueta java se. Mostrar todas las entradas

viernes, 13 de noviembre de 2020

Recursividad en Java - Calculando el Factorial de un Número

Hola a todos, hoy vamos a calcular el factorial de un número implementando recursividad en una clase que vamos a construir en Java. 

La recursividad es la propiedad que tienen los métodos en Java de invocarse a si mismos.

Recuerden que el factorial de un número, es el producto de la serie de números que va desde 1 hasta el número. Ejemplo: El factorial de 5, que se escribe: 5! es igual a: 5 x 4 x 3 x 2 x 1 = 120.

Adicional a la construcción de la clase que implementa recursividad, vamos a resolver el problema también utilizando una clase con un método basado en iteraciones.


Veamos entonces estas dos clases y su implementación:


jueves, 29 de octubre de 2020

Hola Mundo en Java, Ambiente Gráfico Swing - JOptionPane Input y Output

Hola a todos, hoy  vamos a crear una versión de nuestro programa Hola Mundo en java utilizando swing

Esta vez, vamos a modificar la clase que creamos en el post anterior, y por medio de una variante en el objeto JOptionPane de la librería Swing vamos a llamar el método JOptionPane.showInputDialog

Esta llamada nos va a desplegar un cuadro de diálogo en el que podemos ingresar información y utilizarla según queramos en nuestros programas. Tan solo con esto, vamos a estar en capacidad de permitir que nuestros usuarios puedan interactuar con nuestros programas:



A continuación, el paso a paso en video:



sábado, 26 de septiembre de 2020

Calculando la Serie de Fibonacci con Java - Usando la Clase BigDecimal java.math.BigDecimal

Hola a todos, hoy vamos a realizar una modificación al último programa que creamos y que servía para calcular la Serie de Fibonacci. En aquella oportunidad, utilizamos el tipo de dato long, para almacenar los términos de la serie. Como lo van a ver en el video, este tipo de dato permite almacenar y operar con valores enteros que estén entre un rango (ver este link) lo que hace que cuando necesitemos calcular el término 100 de la serie, nuestro programa falle. Para solucionarlo, y poder llegar a calcular incluso el término 100.000 de la serie, vamos a ajustar nuestro programa, reemplazando el tipo long, por la construcción de objetos de la clase BigDecimal, que podemos encontrar en: java.math.BigDecimal.

Una de las motivaciones para realizar este ajuste, surgió después de visitar en twitter a @iamPisano, que como pueden ver, se da a la tarea de calcular cada uno de los términos de la serie y los postea día a día. Solo que debemos tener en cuenta, que para este caso puntual en twitter, la serie no inicia en 0 como primer término, sino que lo hace en 1 :


martes, 22 de septiembre de 2020

Calculando la Serie de Fibonacci con Java - Solución Iterativa

Hola a todos, hoy vamos a diseñar una clase que nos permita calcular o más bien construir la Serie de Fibonacci. Recuerden que la Serie de Fibonacci inicia con el número 0 y 1 y continua sumando los dos términos para obtener el siguiente, en este caso: 0 + 1 = 1, lo que da: 0, 1, 1. Volviendo a calcular Fibonacci tenemos: 1 + 1 = 2, lo que da: 0, 1, 1, 2 el siguiente termino es: 1 + 2 = 3 etc. 

Como cálculo adicional, nuestra clase nos va a servir para calcular el cociente entre un termino actual de la serie y el termino anterior. 

Como vamos a ver en la solución del programa, entre más crezca la Serie Fibonacci, el resultado de este cociente converge a uno de esos números extraños y que podemos encontrar en la naturaleza, el arte, las matemáticas e incluso las finanzas: 1,618 más conocido como la proporción áurea, número de Dios o simplemente Phi (ver Wikipedia). 

En nuestra aplicación, vamos a construir la serie haciendo uso de la instrucción for( variable inicialización del ciclo; control del ciclo; incremento de la variable), que en el caso de nuestro programa, lo tenemos en la clase SerieFibonacci.java en la línea 33: for(int i = 3; i <= total_terminos; i++).


En esta clase, la instrucción for lo que hace es iniciar la variable i de tipo entero igualándola a 3 e inicia un proceso en el que se repite el código que se encuentra en las llaves del for { } (en nuestro caso el código que esta entre las líneas 33 y 40), repitiéndolo hasta que la variable i sea mayor que la variable total_terminos. 

Para asegurar que la condición se cumpla en algún momento y no se genere un ciclo de repetición infinito, la variable i se incrementa en 1 (en Java i++ es igual a i = i +1) cada vez que se cumple un ciclo.