Mostrando las entradas con la etiqueta NetBeans. Mostrar todas las entradas
Mostrando las entradas con la etiqueta NetBeans. Mostrar todas las entradas

jueves, 29 de octubre de 2015

Ordenar lista de Strings en Java

Aquí les dejo un ejemplo sencillo de cómo ordenar una lista de Strings en Java.

Fig. 1. Resultado del ordenamiento en Java

El ejemplo de ordenamiento lo implementé directamente sobre el método principal de una clase. Este es el código:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package ordenarnombres;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Balam-PC
 */
public class OrdenarNombres {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        List<String> nombres = new ArrayList<String>();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int opcion = 0;
        int numeroInserciones = 0;
        
        try {
            do{
                System.out.println("============== MENU ==============\n");
                System.out.println("1) Insertar nombres");
                System.out.println("2) Imprimir nombres");
                System.out.println("3) Ordenar nombres");
                System.out.println("4) Salir\n");
                System.out.println("Inserta la opción (1, 2, 3 ó 4): ");
                opcion = Integer.parseInt(br.readLine());
                
                switch(opcion){
                    case 1:
                        System.out.println("¿Cuántos nombres deseas insertar? ");
                        numeroInserciones = Integer.parseInt(br.readLine());
                        for (int i = 0; i < numeroInserciones; i++) {
                            System.out.println("Nombre [" + (i+1) + "]: ");
                            nombres.add(br.readLine());
                        }
                        break;
                    case 2:
                        System.out.println("Nombres:");
                        for (String str : nombres) {
                            System.out.println(str);
                        }
                        System.out.println("Presione enter para continuar...");
                        br.readLine();
                        break;
                    case 3:
                        Collections.sort(nombres);
                        System.out.println("Arreglo ordenado. Presione enter para continuar...");
                        br.readLine();
                        break;
                }
            }while(opcion != 4);
        } catch (IOException ex) {
            Logger.getLogger(OrdenarNombres.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
 
Les dejo el proyecto; está hecho en NetBeans 7.4:


jueves, 7 de mayo de 2015

Patrón de diseño Singleton en Java

En esta ocasión quiero compartir esta implementación del patrón de diseño Singleton en Java. Veamos primeramente qué es un patrón de diseño:

"El patrón de diseño singleton (instancia única) esta diseñado para restringir la creación de objetos pertenedientes a una clase o el valor de un tipo a un único objeto". Fuente: Wikipedia

Como nos indica la definición anterior; el patrón de diseño singleton sólo permite crear un único objeto. Pero vamos a ver el ejemplo de cómo crear un patrón singleton para que quede claro:

1) Vamos crear la clase Futbol:

package equipofutbol;

/**
 *
 * @author Balam-PC
 */
public class clsFutbol {
    private static clsFutbol instance;
    private String equipo;
    
    private clsFutbol(){
    }
    
    public static clsFutbol getinstance(){
        if(instance == null)
            instance = new clsFutbol();
        return instance;
    }
    
    public void setEquipo(String gEquipo){
        equipo = gEquipo;
    }
    
    public String getEquipo(){
        return equipo;
    }
}

La clase clsFutbol va a permitir crear una instancia; si intentamos crear otro objeto, simplemente se vuelve a llamar a la instancia creada anteriormente.

2) Vamos a crear una clase para implementar la clase clsFutbol:

package equipofutbol;

/**
 *
 * @author Balam-PC
 */
public class EquipoFutbol {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        clsFutbol instancia1 = clsFutbol.getinstance();
        
        instancia1.setEquipo("Uruguay");
        System.out.println("Instancia 1: " + instancia1.getEquipo());
        
        clsFutbol instancia2 = clsFutbol.getinstance();
        System.out.println("Instancia 2: " + instancia2.getEquipo());
        
        clsFutbol instancia3 = clsFutbol.getinstance();
        System.out.println("Instancia 3: " + instancia3.getEquipo());
        
        clsFutbol instancia4 = clsFutbol.getinstance();
        System.out.println("Instancia 4: " + instancia4.getEquipo());
    }
}

Como podemos observar, creamos 4 instancias de la clase clsFutbol; sin embargo, en la primera instancia llenamos la clase con el parámetro Uruguay. Las siguientes instancias que se generen no se tratan de instancias diferentes, son la misma instancia; ejemplo de esto es que si imprimimos la variable donde almacenamos el equipo que configuramos en la primera instancia, este es el mismo para cada "objeto" que creamos posteriormente:

Fig. 1. Salida de ejecución de la clase EquipoFutbol.java


El patrón singleton se usa cuando queremos limitar las instancias de una clase a sólo una. Por ejemplo, cuando deseamos que una clase de conexión a una base de datos se tenga que instanciar una sola vez para evitar crear múltiples conexiones a la base de datos.

El ejemplo lo pueden descargar de los siguientes enlaces (desarrollado en NetBeans 7.4):

miércoles, 22 de octubre de 2014

Clasificación de temperatura con weka en Java y NetBeans

En esta ocasión quiero compartir un ejemplo de clasificación semiautomática utilizando la librería weka. El ejemplo consiste en un módulo que será capaz de clasificar una temperatura de entrada para indicarnos a qué clima pertenece (Fig. 1).

Fig. 1. Módulo de clasificación

Comparto todo lo necesario para realizar este ejemplo; así como el proyecto para NetBeans y una guía en PDF de los pasos que llevé a cabo. En la carpeta encontrarán la librería, el proyecto, el corpus, el modelo y el instalador de weka, así como la guía en PDF (Fig. 2).

Fig. 2. Documentos compartidos en el link

Aquí les dejo el link con los archivos mencionados anteriormente:


Y aquí el vídeo demostrativo del uso del clasificador:


domingo, 19 de octubre de 2014

Crear un servicio web en Java con NetBeans

¿Qué son los servicios Web?

Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra su complejidad a la hora de dar una adecuada definición que englobe todo lo que son e implican. Una posible sería hablar de ellos como un conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de la Web.

¿Para qué sirven?

Estos servicios proporcionan mecanismos de comunicación estándares entre diferentes aplicaciones, que interactúan entre sí para presentar información dinámica al usuario. Para proporcionar interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo tiempo sea posible su combinación para realizar operaciones complejas, es necesaria una arquitectura de referencia estándar.

Fuentehttp://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb

A continuación comparto el vídeo que muestra cómo crear un servicio web con Java utilizando el IDE NetBeans.