ProgramandooIntentándolo

10 Abr 2014

Patrón Singleton en Java

(adsbygoogle = window.adsbygoogle || ).push({});

El patrón singleton es de los patrones de diseño más sencillos tanto porque esta muy claro cual es su objetivo como por lo sencilla que resulta su implementación.

Mediante este patrón podemos hacer que únicamente haya una sola instancia de una clase en nuestra aplicación de forma similar a una variable global pero de una forma más elegante.

Este patrón es ampliamente utilizado ya que hay multitud de ocasiones en las que se necesita que necesita compartir alguna información en la aplicación, tener un único punto de acceso a un recurso o cualquier situación en la que se necesite tener un solo objeto de una clase.

Una vez visto un poco para que se usa el patrón singleton vamos a ver como se realiza su implementación en java:

(adsbygoogle = window.adsbygoogle || ).push({}); public class ClaseSingleton { private static ClaseSingleton instanciaUnica = new ClaseSingleton(); private ...
12 Dic 2013

Como crear un bloc de notas en Java

Un bloc de notas es un ejemplo sencillo para ver el manejo de ficheros en Java, porque podemos ver como abrir un fichero y leer su contenido y mostrarlo por pantalla y también podemos hacer la operación inversa, guardar en un fichero el contenido que tenemos en la pantalla.

Vamos a hacer un bloc de notas muy sencillo en el que solo vamos a poder abrir un fichero, guardarlo y crear un documento nuevo.

El bloc de notas

El primer paso es crear la interfaz de nuestra aplicación que es súper sencilla ya que simplemente necesitamos añadir una barra de menú para poder las opciones clásicas de abrir, guardar, nuevo, salir, etc. y un área de texto en la que poder escribir y mostrar el contenido de un archivo cuando lo abramos.

public BlocNotas() { ventana = new JFrame("Mi bloc de Notas"); // Inicializa todos los elementos del menu JMenuBar ...
26 Nov 2013

Como ejecutar un procedimiento almacenado desde Java con JDBC

Llamar a un procedimiento almacenado usando JDBC es muy similar a ejecutar una PreparedStatement, sino te acuerdas muy bien como funcionaba pues verlo en un post anterior en el que hice un pequeño tutorial de como usar JDBC aquí.

Como en esa ocasión use MySQL, esta vez para cambiar voy a usar Oracle, aunque a efectos prácticos la única diferencia es el driver que hay que cargar.

El código SQL para generar la tabla que voy a usar en este ejemplo es el siguiente. También he añadido unas pocas filas para poder ver los resultados.

CREATE TABLE ALUMNOS( ID NUMBER(5) CONSTRAINT ALUMNO_PRIMARY_KEY PRIMARY KEY, NOMBRE VARCHAR2(15), PAIS VARCHAR2(20), FECHA_NACIMIENTO DATE, SEXO VARCHAR2(1) CONSTRAINT ALUMNO_CHK_SEXO CHECK(SEXO IN('M','H')), CURSO VARCHAR2(20) ); INSERT INTO ALUMNOS VALUES(1,'Pepito Gonzalez','Rumania','5-Mayo-95','H','Bases de datos'); INSERT INTO ALUMNOS VALUES(2,'Laura Sanz','Mexico','14-Abril-86','M','Contabilidad'); INSERT INTO ALUMNOS VALUES(213,'Luis Perez','Argentina','18-May-78','H','Cocina'); INSERT INTO ALUMNOS VALUES(12321,'Susana Perez','España','29-Sep-90','M','Java'); INSERT INTO ALUMNOS VALUES(12322,'Fernando Torres','España','30-Julio-91','H','Java'); INSERT INTO ...
28 Oct 2013

Como comparar String en Java

Hoy voy a poner como se pueden comparar String en Java porque aunque ciertamente es sencillo siempre nos puede entrar la tentación de compararlos usando == como si fuese cualquier otro tipo de objeto y nuestra aplicación como es lógico no funcionará como queremos y como es una cosa sencilla quizás pienses que el error en otro lado y te pases un buen rato perdiendo el tiempo. A mi me paso alguna vez cuando estaba aprendiendo Java y aprovechando que me lo han preguntado pues lo comparto aquí.

Porque no usar ==

Cuando comparamos un String con == lo que se comprueba es si ambos Strings son el mismo objeto, pero no si su contenido es el mismo por lo que este método no nos vale, aunque hay casos en los que si funciona es mejor no usarlo nunca porque lo normal será que no funcione.

String cadena1 = ...
8 Oct 2013

Como generar números aleatorios en Java

Hay ocasiones en las que es necesario usar números aleatorios y en Java tenemos 2 formas sencillas de obtenerlo o bien con Math.random o sino con java.util.Random que nos ofrece algunas posibilidades más aunque su uso es igual de sencillo.

Math.random()

Si se opta por la usar la función random de la clase Math el proceso es muy sencillo ya que esta función nos devuelve un número aleatorio entre 0 y 1 (de tipo double) y solo es necesario multiplicarlo por el número que queramos que sea el número más alto posible y/o sumarle (o restarle) algún número para que el limite inferior sea otro distinto de 0.

Esta función es estatica por lo que no hay que instanciar un objeto de la clase Math.

int numero = (int)(Math.random()*10+1);

En este caso el número generado estará entre 1 y 10, por que primero lo multiplicamos por 10 con lo que ...