viernes, 30 de enero de 2009

Instalación del entorno de desarrollo NetBeans para Java

(Este tutorial se ha realizado para la versión 6.5 de NetBeans, concretamente el paquete para Java. En otras versiones podrán variar varios aspectos de los aquí recogidos).

La descarga del programa puede realizarse desde su página oficial www.netbeans.org. En ella se puede encontrar un enlace en la siguiente imagen para realizar la descarga:

Al acceder a la página de descarga se ofrece la opción de especificar en qué lenguaje deseamos utilizar el programa y para qué plataforma:

En la lista desplegable del lenguaje no aparece en principio el idioma español, anque se muestra la opción "More Languages..." que al seleccionarla, automáticamente elige nuestro idioma.

Seguidamente hemos de indicar qué tipo de paquete se desea descargar en función del tipo de lenguaje de programación que se vaya a utilizar, aunque se dispone de un paquete completo "All". Cuando decidamos qué tipo de paquete deseamos descargar hacemos clic en el botón "Download" que aparece en la columna correspondiente.

Tras hacer clic en el botón se iniciará la descarga automáticamente.

La descarga puede demorarse unos minutos debito al tamaño del programa (más de 200 MB). Una vez finalizada la descarga se puede comenzar con la instalación haciendo doble clic sobre el icono del archivo descargado (la carpeta en la que se encuentre el archivo dependerá de la configuración del navegador o de las indicaciones que se hayan dado en el momento de iniciar la descarga).

En el momento de iniciar la instalación se mostrarán un par de ventanas indicando el progreso del inicio del programa de instalación.

Durante este proceso es posible que aparezca una ventana del cortafuegos de Windows en caso de que se tuviera activado en este sistema. Es necesario desbloquear el programa Java(TM) Platform SE binary para obtener un funcionamiento adecuado de algunas funciones que proporciona Java, aunque siempre se han de tener en cuenta los factores de riesgo que implica desbloquear un programa en el cortafuegos. Si se está conforme, se debe hacer clic en el botón Desbloquear.

Al finalizar el proceso de inicio del instalador se muestra una ventana de bienvenida donde se informa de los paquetes que se van a instalar en función del tipo de instalador que se haya descargado. Si se deseara suprimir alguno de los paquetes que parece por defecto, se puede realizar haciendo clic en el botón "Personalizar...". Cuando se desee continuar hay que hacer clic en el botón "Siguiente >".

Hay que destacar que para realizar la instalación de este entorno de desarrollo hay que tener previamente instalado el kit de desarrollo de Java. Si no se tuviera instalado, en la parte inferior de la ventana de bienvenida se mostraría un error. (La descarga del kit de desarrollo de Java JDK se puede realizar también gratuitamente desde la página de descargas de Sun o directamente desde aquí para la versión SE 6u12: Java SE Development Kit 6u12).

Al continuar aparece la licencia de uso del programa que hay que aceptar para continuar el proceso activando la casilla de verificación "Acepto los términos del acuerdo de licencia" y haciendo clic en el botón "Siguiente >".

En la siguiente ventana de diálogo se debe confirmar o modificar la carpeta de instalación de NetBeans, así como indicar la carpeta en la que se encuentra el JDK (en caso de disponer de varias versiones instaladas del JDK hay que asegurase de indicar exactamente cuál de ellas se desea utilizar). Normalmente no hay que modificar nada, simplemente pulsar el botón "Siguiente >"

Aparece una nueva ventana muy similar a la anterior, pero en este caso se debe indicar la carpeta de instalación para GlassFish (servidor de aplicaciones para Java EE), así como la carpeta donde se encuentra instalado el JDK que se desea utilizar con ese programa.

Además se pueden modificar una serie de parámetros como el nombre de usuario del administrador, su contraseña (si no se modifica será adminadmin), y los puertos para HTTP, HTTPS y administración.

Normalmente tampoco hará falta modificar nada, por lo que se puede continuar haciendo clic en "Siguiente >".

La siguiente ventana solicita la ruta de la carpeta en la que instalar GlassFish v3 Prelude. Se puede dejar la que aparece y hacer clic en "Siguiente >".

A partir de ese momento comienza verdaderamente el proceso de instalación del programa en el ordenador.

Una vez completado, aparece una nueva ventana de diálogo donde se solicita al usuario si desea participar en el envío de datos de forma anónima haciendo un seguimiento de las características más utilizadas para que el equipo de Java pueda mejorar el programa.

Además se posibilita el registro en la página web de Sun de los paquetes instalados al finalizar la instalación. Una vez leídas las condiciones de ambas opciones y optado por dejar marcadas o desmarcarlas es posible finalizar haciendo clic en "Terminar".

Así se finaliza este proceso. A partir de ese momento se tiene acceso a la aplicación desde el icono que se ha instalado en el escritorio o desde la lista de programas del menú Inicio.

lunes, 26 de enero de 2009

Clases y objetos en Java (Ejemplo 1)

Programa que define una clase Coche con un método constructor y un método para modificar sus atributos. Se emplea un elemento de clase que cuente el número de coches creados. Los atributos de la clase Coche se definen como privados.

class Coche
{
static int cochesMatriculados = 0;
private String marca;
private String modelo;
private String matricula;
private String color;

Coche(String marca, String modelo, String matricula, String color)
{
this.marca = marca;
this.modelo = modelo;
this.matricula = matricula;
this.color = color;
this.cochesMatriculados++;
}

void muestraNumCoches()
{
System.out.println("Coches matriculados: "+this.cochesMatriculados);
}

void muestraDatos()
{
System.out.println();
System.out.println("Marca: "+ this.marca);
System.out.println("Modelo: "+ this.modelo);
System.out.println("Matrícula: "+ this.matricula);
System.out.println("Color: "+ this.color);
System.out.println();
}

void cambiaCoche(String nuevaMarca, String nuevoModelo, String nuevaMatricula, String nuevoColor)
{
this.marca = nuevaMarca;
this.modelo = nuevoModelo;
this.matricula = nuevaMatricula;
this.color = nuevoColor;
}
}

public class CocheMain
{
public static void main(String args[])
{
Coche cocheDeJuan = new Coche("Renault", "Megane", "2615FXN", "Azul");
Coche cocheDeIgnacio = new Coche("Renault", "Laguna", "1237sjh", "Azul");
Coche cocheDeGerardo = new Coche("Peugeot", "206", "1273dsj", "Azul");
cocheDeGerardo.muestraNumCoches();

cocheDeIgnacio.muestraDatos();

//No se puede hacer por ser privados
//cocheDeIgnacio.marca = "Volkswagen";
//cocheDeIgnacio.modelo = "Tuareg";
cocheDeIgnacio.cambiaCoche("Volkswagen", "Tuareg", "2337jga", "Rojo");
cocheDeIgnacio.muestraDatos();
}
}

lunes, 19 de enero de 2009

Matrices en Java (Lotería Primitiva)

Programa que muestra el número de apuestas que son necesarias para que se acierten 6 números dados en la lotería primitiva.
public class Primitiva
{
public static void main(String args[])
{
int apuesta[] = {22,28,3,13,40,7};
int aciertos, bola, apuestas=0;

do
{
aciertos = 0;
apuestas++;
for(int i=0;i<6;i++)
{
bola = (int)(Math.random()*49)+1;
for(int j=0;j<6;j++)
{
if(bola==apuesta[j])
aciertos++;
}
}
}while(aciertos<6);
System.out.println("Apuestas realizadas: "+apuestas);
}
}

Matrices en Java (Cuadrado Mágico)

Programa que genera el cuadrado mágico. El programa debe colocar los números del 1 al 9 en una matriz de 3x3 de forma que la suma de cada fila, de cada columna y de las diagonales tenga el mismo resultado.
import java.util.Calendar;

public class CuadradoMagico
{
public static void main(String args[])
{
int cuadrado[][] = new int[3][3];
int suma, fil, col, intento = 1;
boolean posicionCorrecta;
boolean correcto;

long t1, t2, dif;
Calendar ahora1 = Calendar.getInstance();
t1 = ahora1.getTimeInMillis();

do
{
correcto = true;
//Inicializar la matriz
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
cuadrado[i][j] = 0;

//Colocar los números del 1 al 9 aleatoriamente
for(int num=1; num<=9; num++)
{
do
{
posicionCorrecta = false;
fil = (int)(Math.random()*3);
col = (int)(Math.random()*3);
if(cuadrado[fil][col]==0)
{
posicionCorrecta = true;
cuadrado[fil][col] = num;
}
}while(!posicionCorrecta);
}

intento++;

//Comprobar si las sumas son iguales
suma = cuadrado[0][0] + cuadrado[0][1] + cuadrado[0][2];
if(suma!=cuadrado[1][0] + cuadrado[1][1] + cuadrado[1][2])
correcto = false;
else
if(suma!=cuadrado[2][0] + cuadrado[2][1] + cuadrado[2][2])
correcto = false;
else
if(suma!=cuadrado[0][0] + cuadrado[1][0] + cuadrado[2][0])
correcto = false;
else
if(suma!=cuadrado[0][1] + cuadrado[1][1] + cuadrado[2][1])
correcto = false;
else
if(suma!=cuadrado[0][2] + cuadrado[1][2] + cuadrado[2][2])
correcto = false;
else
if(suma!=cuadrado[0][0] + cuadrado[1][1] + cuadrado[2][2])
correcto = false;
else
if(suma!=cuadrado[0][2] + cuadrado[1][1] + cuadrado[2][0])
correcto = false;
else
correcto = true;
}while(!correcto);

Calendar ahora2 = Calendar.getInstance();
t2 = ahora2.getTimeInMillis();

//Mostrar el cuadrado
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
System.out.print(cuadrado[i][j]+" ");
System.out.println();
}

//Se muestra en pantalla el tiempo tardado
dif = t2 - t1;
System.out.println("Generado en: " + dif + " milisegundos con "+ intento+ " intentos");
}
}

jueves, 15 de enero de 2009

Matrices en Java (Ejemplo 2)

Programa que genera una matriz representando un triángulo invertido alineado a la derecha realizado con asteriscos, cuyo tamaño será especificado por el usuario. La matriz será mostrada en pantalla finalmente. Por ejemplo, si se indica el tamaño 5 deberá aparecer:
*****
****
***
**
*
import java.util.Scanner;
public class Matrices2
{
public static void main(String args[])
{
Scanner teclado = new Scanner(System.in);
int tam;

System.out.print("Introduzca tamaño del triángulo: ");
tam = teclado.nextInt();

char triangulo[][] = new char[tam][tam];

//Cargar matriz con el dibujo
for(int f=0; f<tam; f++)
{
//Bucle para mostrar espacios
for(int c=0; c<f; c++)
triangulo[f][c] = " ";
//Bucle para mostrar asteriscos
for(int c=f; c<tam; c++)
triangulo[f][c] = "*";
}

//Mostrar matriz en pantalla
for(int f=0; f<tam; f++)
{
for(int c=0; c<tam; c++)
System.out.print(triangulo[f][c]);
System.out.println();
}
}
}

miércoles, 14 de enero de 2009

Sudoku en Java para terminal del sistema

Sudoku como ejemplo de programación en Java con salida por consola.

Sudoku en Java, Aplicaciones vistosas en modo consola

Matrices en Java (Ejemplo 1)

Programa que genera una matriz de dos dimensiones con letras del alfabeto, mostrándola posteriormente en pantalla.
public class Matrices1
{
public static void main(String args[])
{
final int FILAS = 3;
final int COLUMNAS = 5;
char letras[][] = new char[FILAS][COLUMNAS];
char letraQueToca = 'A';

//Carga las letras en la matriz
for(int f=0; f<FILAS; f++)
{
for(int c=0; c<COLUMNAS; c++)
{
letras[f][c] = letraQueToca;
letraQueToca++;
}
}

//Mostrar en pantalla la matriz
for(int c=0; c<COLUMNAS; c++)
System.out.print("--");
System.out.println("-");

for(int f=0; f<FILAS; f++)
{
System.out.print("|");
for(int c=0; c<COLUMNAS; c++)
{
System.out.print(letras[f][c]+"|");
}
System.out.println();
for(int c=0; c<COLUMNAS; c++)
System.out.print("--");
System.out.println("-");
}

}
}

martes, 13 de enero de 2009

Vectores en Java (Ejemplo 4)

Programa que inicializa un vector de números enteros y muestra el valor más bajo.
public class Vectores4
{
public static void main(String args[])
{
int numeros[] = {46,324,54,56,6,98,342,32,46,65,76,54,324,12,54,56,86,2341,2314};

int min = numeros[0];
for(int i=1; i<numeros.length; i++)
{
if(numeros[i] < min)
min = numeros[i];
}

System.out.println("El valor más pequeño es: "+min);
}
}

lunes, 12 de enero de 2009

Vectores en Java (Ejemplo 3)

Programa que lee 20 caracteres, los mete en un vector y en otro vector carga sólo las vocales que contiene.
public class Vectores3
{
public static void main(String args[])
{
char cadena[] = new char[20];
char vocales[] = new char[20];

//Cargar caracteres en vector cadena
for(int i=0; i<cadena.length; i++)
{
try
{
cadena[i] = (char)System.in.read();
}
catch(Exception e)
{
System.out.println("Error");
}
}

//Obtener las vocales y meterlas en vector vocales
int j = 0;
for(int i=0; i<cadena.length; i++)
{
if(cadena[i]=='a' || cadena[i]=='e' || cadena[i]=='i' || cadena[i]=='o' || cadena[i]=='u' ||
cadena[i]=='A' || cadena[i]=='E' || cadena[i]=='I' || cadena[i]=='O' || cadena[i]=='U')
{
vocales[j] = cadena[i];
j++;
}
}

//Mostrar el vector vocales
for(int i=0; i<vocales.length && vocales[i]!=0; i++)
{
System.out.println(vocales[i]);
}
}
}

viernes, 9 de enero de 2009

Vectores en Java (Ejemplo 2)

Programa que carga automáticamente en un vector las letras del abecedario indicando el tamaño del vector en una constante.
public class Vectores2
{
public static void main(String args[])
{
final int TAMANO = 26;
char listaLetras[] = new char[TAMANO];
char letra = 'A';

//Asignacion de letras a cada elemento del vector
for(int i=0; i<TAMANO; i++)
{
listaLetras[i] = letra;
letra++;
}

//Mostrar en pantalla el vector
for(int i=0; i<TAMANO; i++)
{
System.out.print(listaLetras[i]+" ");
}
}
}

jueves, 8 de enero de 2009

Vectores en Java (Ejemplo 1)

Programa que inicializa un vector de números enteros y los muestra en pantalla junto con la suma de su posición.
public class Vectores1
{
public static void main(String args[])
{
int listaNúmeros[] = {234,54,67,68,978,12};
for(int i=0; i<listaNúmeros.length; i++)
{
System.out.printf("%5d",listaNúmeros[i]);
System.out.printf("%5d\n",listaNúmeros[i]+i);
// Otra manera
// System.out.println(listaNúmeros[i]);
// System.out.println("\t"+(listaNúmeros[i]+i));
}
}
}

miércoles, 7 de enero de 2009

Alojamiento de páginas web en 000webhost

Para alojar una página web en un servidor de Internet se dispone de multitud de opciones, muchas de ellas gratuitas.
En este caso se va a utilizar el servicio ofrecido por 000webhost.com que ofrece unas características bastante interesantes.

El primer paso que se debe realizar es crear una cuenta de usuario en este servidor, para ello, una vez que hemos accedido a su página principal se debe hacer clic en el botón "Sign Up!".
Con esta acción se accede a la página de registro donde se debe indicar:
  • Nombre del dominio: Será el nombre que se desea utilizar para que los visitantes puedan acceder al sitio web que se está creando.
    Si no se dispone de un dominio previamente, se debe rellenar el nombre deseado donde indica choose your free subdomain (recommended)
    www.___________.****.***
    La extensión del dominio que se ofrece va variando.
  • Nombre de usuario (Your name): Para identificarse al acceder en otra ocasión al servidor y realizar modificaciones.
  • Dirección de correo electrónico (Your email): Donde se recibirá información detallada sobre el servicio.
    Sólo se puede crear una cuenta de usuario por cada dirección de correo.
  • Contraseña (Password): Para asegurar que ninguna otra persona puede acceder a la configuración del sitio web que se va a crear.
    Se debe volver a escribir la misma contraseña en Type password again para comprobar que se ha escrito correctamente.
  • Número de seguridad que se muestra en la pantalla bajo Enter the number you see in the image, que utiliza el servidor para evitar el acceso de forma automática a este servicio. Simplemente hay que escribir el número que se muestra.
  • Estar de acuerdo con las condiciones del servicio que se pueden leer en Terms Of Service, para lo cual sólo se debe activar la casilla de verificación.
Por último, sólo queda hacer clic en el botón "Create My Account". (Sólo se puede crear una cuenta nueva cada día desde el mismo lugar).

El tiempo de creación de la cuenta tarda pocos minutos y se puede observar la duración del proceso en la página que se muestra tras aceptar la creación de la cuenta.

Una vez finalizado el proceso se muestra la información detallada de la cuenta que se acaba de crear.

Para realizar las tareas de mantenimiento del sitio web se debe acceder al Panel de Control de 000webhost. Desde la última página, en la que se mostraban los detalles de la cuenta, se puede acceder al Panel de Control desde "[Enter Control panel]".
Desde este Panel de Control se tiene acceso a todas las herramientas de configuración y mantenimiento del sitio web. En esta ocasión se ha llegado a él desde la página de creación de la nueva cuenta de usuario, pero será necesario llegar a él en otros momentos, teniendo la cuenta de usuario ya creada.

Para ello se debe acceder al servidor desde la dirección members.000webhost.com donde se solicita la dirección de correo electrónico con la que se ha realizado el registro, la contraseña que se había establecido y de nuevo un número de seguridad que se debe escribir.

Al acceder al servicio desde esta página se accede a la lista de dominios que tiene registrados el usuario con el que se ha accedido. En dicha lista de dispone de enlaces para mostrar directamente la página web, bajo la columna Domains, y de acceso al panel de control como Go to CPanel.

Para alojar una página web se puede utilizar la herramienta File Manager que se encuentra en la sección Files del Panel de Control.
Al intentar entrar en el File Manager se solicitará la contraseña establecida para el dominio.
La página principal del File Manager es la siguiente, donde existe una lista desplegable en la que se puede cambiar el idioma de este gestor de archivos.

En ella se observa una carpeta llamada public_html que es donde se deben subir los archivos correspondientes a las páginas web que se desean publicar. Inicialmente contiene el archivo default.php que es la página que aparece por defecto si no se sube otra página principal.

Para subir una página web o alguno de sus archivos relacionados, como imágenes, sonido, etc, haciendo clic en el botón "Subir archivo" o "Upload".
Utilizando el botón Examinar se pueden localizar los archivos que se desean subir.

Si, por ejemplo, se sube una página web llamada prueba.html se podrá visualizar utilizando la dirección http://dominiocreado
/prueba.html

En caso de que el archivo se denomine index.html no será necesario indicar ese nombre de archivo en el momento de visualizar la página web, sólo se debe indicar el nombre del dominio. Por ello, es recomendable utilizar ese nombre para la página principal del sitio.
 

Contador de visitas