Artículos
Java

Mayor de dos números con la clase Math

Creado: 19/Oct/2012 Actualizado: 29/Dic/2014

En el ejemplo sobre el mayor de dos números con Java veíamos como podemos realizar el cálculo de cual de dos números es mayor mediante una estructura de selección. En este caso vamos a ver como podemos simplificar el código apoyándonos en la clase Math, tal y como nos comentaba Samuel Zarza Fernandez. Así que vamos a ver cómo calcular el mayor de dos números con la clase Math.

El primer paso será el mismo ya que realizaremos la lectura de los números mediante la clase Scanner.

Scanner reader = new Scanner(System.in);                
int iNumero1, iNumero2;

Realizaremos las lecturas de números enteros mediante el método .nextInt()

System.out.println("Dame el primer número");
iNumero1 = reader.nextInt();
        
System.out.println("Dame el segundo número");
iNumero2 = reader.nextInt();

La clase Math de Java nos proporciona un método llamado .max(), al cual podemos pasar dos números y resolvernos cúal es el mayor de los dos números. Es por ello que nuestro resultado es muy sencillo y solo tenemos que invocar a dicho método.

System.out.println("El mayor de los dos números es " + Math.max(iNumero1, iNumero2));

Hay que recordar que no necesitamos instanciar la clase Mathh ya que sus métodos son estáticos y únicos para todos los programas.

Como podéis comprobar un código Java para calcular el mayor de dos números con la clase Math sencillo y optimizado.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
HTML5

Fecha de publicación de un artículo en HTML5

Creado: 18/Oct/2012 Actualizado: 09/Ene/2025

De una forma muy sencilla hemos visto como podemos identificar la fecha de publicación de un documento con HTML5. Para ello simplemente nos hemos tenido que apoyar en el atributo pubdate del elemento time de HTML5.

<time datetime="2012-10-16T09:00">16 de octubre de 2012 a las 9h</time>

En estos casos, al utilizar el atributo pubdate, dicho atributo aplicará al elemento inmediatamente superior que contenga al elemento time. Así, en el caso de la identificación de la fecha de publicación de un documento lo hacíamos a nivel del documento.

Pero en HTML5 aparecen otros elementos que nos permiten dar semántica a la estructura de los documentos web. Uno de ellos es el elemento article. Dentro de un elemento article podemos recoger toda información relativa a un artículo. Lo que, por ejemplo en un blog, vendría a ser una entrada o post.

De esta forma podemos asignar una fecha diferente a la publicación de un artículo en nuestra web, el truco consiste en asignar el elemento time, con su respectivo atributo pubdate, a un elemento article.

<article>
  <header>
    <h1>Artículo 1 - Presentación</h1>
    Publicado el <time datetime="2012-10-15T12:00">15 de octubre de 2012 a las 12h</time> por <a href="#">Autor 1</a>
  </header>
  En un lugar de la Mancha, de cuyo nombre no quiero acordarme...
</article>

Así, cada uno de los artículos que tengamos en nuestra página (o entradas de nuestro blog) puede tener una fecha de publicación diferente.

<article>
  <header>
    <h1>Artículo 1 - Presentación</h1>
    Publicado el <time datetime="2012-10-15T12:00">15 de octubre de 2012 a las 12h</time> por <a href="#">Autor 1</a>
  </header>
  En un lugar de la Mancha, de cuyo nombre no quiero acordarme...
</article>
<article>
  <header>
    <h1>Artículo 2 - Detalles</h1>
    Publicado el <time datetime="2012-10-16T09:00">16 de octubre de 2012 a las 9h</time> por <a href="#">Autor 2</a>
  </header>
  Es, pues, de saber que este sobredicho hidalgo, los ratos que estaba ocioso,....
</article>

 Incluso, a nivel de documento podemos seguir teniendo una fecha de publicación del documento.

Vídeos sobre HTML5

Disfruta también de nuestros artículos sobre HTML5 en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML5

¿Te atreves a probar tus habilidades y conocimiento en HTML5 con nuestro test?

Test HTML5
Artículos
HTML5

Microdata para una geolocalización con HTML5

Creado: 17/Oct/2012 Actualizado: 09/Ene/2025

Seguimos con más ejemplos sobre microdata en HTML5 para aprender a definir nuevas entidades semánticas dentro de nuestros documentos HTML5.

En este caso vamos a ver como definir un microdata para una geolocalización. Algo muy útil cuando estemos trabajando con mapas -seguro que ya has probado todos nuestros ejemplos del API de Google Maps-.

Lo que tenemos que saber es que una geolocalización se define por una latitud y una longitud. Por ejemplo, la ciudad de Ávila está en la latitud 40.65599461 y la longitud -4.69373720. Para ello, Schema.org nos define la entidad GeoCoordinates en http://schema.org/GeoCoordinates.

Así, que lo primero que tenemos para hacer es definir el ámbito de nuestra entidad mediante el atributo itemscope e indicar dónde está defina la entidad mediante el atributo itemtype.

<div itemscope="" itemtype="http://schema.org/GeoCoordinates"></div>

Dentro de la entidad GeoCoordinates tenemos principalmente los atributos:

  • latitude, para especificar la latitud.
  • longitude, para especificar la longitud.

Así que asignaremos dichos nombres mediante los atributos itemprop. En este caso volvemos a utilizar un elemento span para dar la información.

¿Cual es la latitud/longitud de Ávila, España?
<div itemscope="" itemtype="http://schema.org/GeoCoordinates">
  (<span itemprop="latitude">40.65599461</span>,<span itemprop="longitude">-4.69373720</span>)
</div>

De una forma sencilla hemos dotado de semántica a la información de geolocalización de nuestra página HTML5.

Vídeos sobre HTML5

Disfruta también de nuestros artículos sobre HTML5 en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML5

¿Te atreves a probar tus habilidades y conocimiento en HTML5 con nuestro test?

Test HTML5
Artículos
HTML5

Fecha de publicación de un documento con HTML5

Creado: 16/Oct/2012 Actualizado: 09/Ene/2025

El otro día veíamos como podemos dar de alta fechas en documentos HTML5. Estas fechas las podemos utilizar para proporcionar información dentro del documento sobre el contenido del mismo. Por ejmeplo, si estamos hablando de un evento, utilizaremos las fechas para indicar los días en los cuales se produce el evento.

Pero las fechas en HTML5 las podemos utilizar para indicar información relativa al documento. Por ejemplo podemos identificar la fecha de publicación (o modificación) de un documento.

Recordamos que para insertar una fecha en HTML5 utilizamos el elemento time.

<time datetime="2012-10-15T12:00">15 de octubre de 2012 a las 12h</time>

Para identificar que la fecha sea relativa a la publicación del documento tenemos que utilizar el atributo pubdate. El atributo pubdate es un atributo booleano. Con lo cual su mero uso dentro del elemento time hará que el valor sea true. Si estamos trabajando con documentos XHTML utilizaremos el formato pubdate=»pubdate».

Así, el código que insertaremos para identificar la fecha de publicación de un documento con HTML5 será:

Este documento fue publicado el <time datetime="2012-10-15T12:00">15 de octubre de 2012 a las 12h</time>

Vídeos sobre HTML5

Disfruta también de nuestros artículos sobre HTML5 en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML5

¿Te atreves a probar tus habilidades y conocimiento en HTML5 con nuestro test?

Test HTML5
Groovy

Conexión a base de datos Firebird desde Groovy

Creado: 15/Oct/2012 Actualizado: 26/Dic/2024

Mediante este ejemplo vamos a explicar cómo realizar una sencilla conexión a una base de datos Firebird desde un programa Groovy.

¿Qué necesitas para realizar este ejemplo?

Para poder codificar y probar el ejemplo es necesario lo siguiente:

  1. Tener instalado Firebird.
  2. Descargar el driver JDBC del sitio oficial de Firebird.
  3. Usar la base de datos de ejemplo de Firebird (EMPLOYEE.FBD)

Al instalar Firebird se crea automáticamente una cuenta de usuario(sysdba) y un password(masterkey) que nos permitirá logearnos y acceder a la base de datos de ejemplo.

Codificando el ejemplo

Lo primero será importar la librería necesaria para la conexión:

import groovy.sql.Sql

Es increíble el ahorro de líneas de código, basta con usar el método Sql.newInstance(direccionBase,usuario,password,driverConexion) para la conectar la base de datos.

// Datos de la Conexión
def direccionBase="jdbc:firebirdsql://localhost/examples/empbuild/EMPLOYEE.FDB"
def usuario="sysdba"
def password="masterkey"
def driverConexion="org.firebirdsql.jdbc.FBDriver"

Ahora para ejecutar una consulta sql usamos el método sql.eachRow(consulta)

// Consulta
def consulta="select *from country"

Ahora solo falta recorrer los campos de la tabla para ello utilizamos el método sql.eachRow:

sql.eachRow(consulta){ fila ->
    println fila.country + "  "+ fila.currency
}

Ejecutar ejemplo

1. Desde terminal de comandos.

groovy ConexionFirebird.groovy

2. Puedes crear un archivo *.bat o *.cmd (en Windows).
ejecuta.cmd

@echo off
echo Teclea Enter para ejecutar programa...
pause >null
groovy ConexionFirebird.groovy

3. En Linux puedes crear un archivo *.sh
ejecuta.sh

 #!/bin/bash
read -p "Presiona Enter para ejecutar programa..."
groovy ConexionFirebird.groovy
Artículos
Google

Borrar marcas de un mapa de Google Maps

Creado: 14/Oct/2012 Actualizado: 27/Ago/2021

En otros artículos hemos visto como podemos crear marcas, como añadir marcas a los mapas de Google Maps, como podemos personalizarlas,… en este caso vamos a ver cómo podemos hacer para eliminarlas de un mapa de Google Maps.

Lo primero que vamos a hacer es recordar como insertábamos una marca dentro de un mapa de Google Maps. Para ello nos habíamos creado una función addMark().

function addMark(location){
  marker = new google.maps.Marker({
    position: location,
    map: map
  });				  
}

Y es que cuando estemos insertando una marca, además de añadirla a Google Maps, lo que vamos a hacer es añadirla en un array. Así que lo primero que hará nuestro programa para borrar marcas del mapa será definir el array:

var puntos = [];

Y ahora, cada vez que insertemos una marca, la insertamos en el array mediante el método .push():

function addMark(location){
  marker = new google.maps.Marker({
    position: location,
    map: map
  });	
  puntos.push(marker);			  
}

Así, en nuestro array puntos tenemos todas las marcas. Ahora añadiremos un botón borrar marcas en nuestra página web y a su evento onclick le vamos a adjuntar el borrado de las marcas.

var b = document.getElementById("borrar");
b.addEventListener("click",function(){...});

Para realizar el borrado de una marca en concreto lo que hacemos es desasignarla del mapa. Para ello ponemos el valor del mapa asociado a null.

var b = document.getElementById("borrar");
b.addEventListener("click",function(){		
  // Recorrempos el array de puntos y los borramos		
  for (p in puntos) {
    puntos[p].setMap(null);
  }		
});

Como vemos en el código, hemos recorrido el array y por cada uno de los objetos Marker hemos ejecutado el método .setMap(null).

Así tenemos borrados todos los puntos que hubiésemos añadido al mapa de Google Maps.

Artículos
Java

Un juego sencillo con Java Swing

Creado: 13/Oct/2012 Actualizado: 29/Dic/2014

Vamos a realizar un programa de escritorio usando Java Swing. Consiste en hacer un juego de adivinar la suma de dos números generados aleatoriamente.

Necesitamos los siguientes controles:

  1. 6 JTextField
  2. 6 JLabel
  3. 3 JButton

Un botón se encargará de generar y mostrar los dos números aleatorios, el siguiente botón activa una ventanita para introducir la suma de esos dos y comprobar si es correcta (acierto) o no (fallo) y mostrará el número de intentos realizados.

Y por último un botón para quitar la aplicación.

Como se trata de una aplicación gráfica es necesario importar las librerías javax.swing.* y java.awt.*.

import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.event.*;
import javax.swing.JOptionPane;
import javax.swing.UIManager;

public class Aleatorio extends JFrame{

  public Aleatorio(){
  //..
 //..
 }
}

Los controles a usar para los que utilizaremos las clases JTextField y JButton:

final private JTextField txtNum1,txtNum2,txtResultado,txtIntentos,txtAciertos,txtFallas;
private JButton btnActiva,btnComprueba;
private JButton btnSalir;

También necesitamos definir las variables que controlarán los valores aleatorios y su suma, así como los aciertos, fallos e intentos:

//los dos números tomarán un valor aleatoriamete
private long num1,num2,valor;
//la suma
long suma_prog;
int intentos=0,aciertos=0,fallas=0;

Para generar los números aleatorios creamos una función:

public long obtenerAleatorio1(){
    return (long)(Math.random()*1000);
}

Puedes leer más información sobre como crear un número aleatorio con Java.

Ahora pasamos a codificar los botones Activar, Comprobar y Salir.

Activar
Este botón inicia el juego, para ello lo que hacemos es crear dos números aleatorios, con la clase creada anteriormente, y los ponemos dentro de los campos de texto sus valores.

btnActiva= new JButton("Activar");
btnActiva.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        Aleatorio aleatorio=new Aleatorio();				
        aleatorio.setNum1(aleatorio.obtenerAleatorio1());
        aleatorio.setNum2(aleatorio.obtenerAleatorio2());
				
        txtNum1.setText(String.valueOf(aleatorio.getNum1()));// no. 1
        txtNum2.setText(String.valueOf(aleatorio.getNum2()));// no.2
        txtResultado.setText("");
    }
});

aleat1

Comprobar
Es el botón que lanza el juego, lo que hace es crear un dialogo, mediante una clase JOptionPane. Cogemos el valor insertado por el usuario y comprobamos si coincide con la suma de los números aleatorios. Si es así incrementamos los aciertos, si no coincide, incrementamos los fallos.

btnComprueba= new JButton("Comprobar");
btnComprueba.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        Aleatorio alea=new Aleatorio();				
        valor=Long.parseLong(JOptionPane.showInputDialog("Introduce valor"));
        alea.setValor(valor);
        txtResultado.setText(String.valueOf(alea.getValor()));//valor del usuario
        suma_prog=Long.parseLong(txtNum1.getText())+ Long.parseLong(txtNum2.getText());
				
        if(suma_prog==alea.getValor()){
            aciertos+=1;
            intentos+=1;
            txtIntentos.setText(String.valueOf(intentos));
            txtAciertos.setText(String.valueOf(aciertos));
        }else{
            fallas+=1;
            intentos+=1;
            txtIntentos.setText(String.valueOf(intentos));
            txtFallas.setText(String.valueOf(fallas));
        }
    }
});

aleat2

Salir
En este caso, lo que hacemos es salir de la aplicación mediante el método System.exit.

btnSalir= new JButton("Salir");
btnSalir.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        System.exit(0);
    }
});

Espero les sea de utilidad.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Google

Personalizar icono de una marca de Google Maps

Creado: 12/Oct/2012 Actualizado: 27/Ago/2021

Ya hemos visto como añadir una marca a un mapa de Google Maps, incluso como podemos añadir la marca de forma dinámica. Pero, ¿podemos personalizar el icono de la marca de Google Maps? La respuesta es sí.

Si nos centramos en como añadimos la marca al mapa vemos lo siguiente:

var marker = new google.maps.Marker({
  position: myLatlng,
  map: map,		      
  title:"Avila de los Caballeros"
});

Lo que podemos hacer en la inicialización es pasarle una propiedad icon, la cual espera un objeto de tipo MarkerImage. Por lo que tenemos que hacer es crear un icono mediante un MarkerImage.

var img = new google.maps.MarkerImage("icono.png");

Y lo siguiente definirlo en la inicialización del Marker:

var marker = new google.maps.Marker({
  position: myLatlng,
  map: map,		
  icon: img,      
  title:"Avila de los Caballeros"
});

Ya tenemos insertado y personalizado nuestro icono de Manual de Google Maps.

Artículos
HTML5

Especificar una duración en HTML5

Creado: 11/Oct/2012 Actualizado: 09/Ene/2025

El otro día veíamos como podíamos especificar una fecha en HTML5. Con el elemento time y su atributo datetime, por defecto podemos indicar una fecha exacta (fecha y hora).

Pero el elemento time y su atributo datetime tienen mucha potencia. Y es que además de poder especificar una fecha en HTML5 nos van a permitir especificar una duración con HTML5.

Imagina que quieres indicar que un evento ha durado 4 días o que la película dura una hora y media, o, incluso siendo más preciso, que un atleta ha recorrido la maratón en 2 horas, 5 minutos y 32 segundos. Todo esto son duraciones y el elemento time de HTML5 nos va a dejar especificarlas.

Y el truco está en utilizar un valor de P (periodo) dentro del atributo datetime. Es decir, si a una fecha del datetime le anteponemos la P, pasará a especificar una duración.

Así, si queremos decir que el evento ha durado 4 días pondremos:

El evento durará <time datetime="P4D">4 días</time>.

O que la proyección de la película es de 1 hora y media

La proyección fue de <time datetime="P1H 30M">una hora y media</time>

Pero hay otro modificador adicional, este será la T. Y es que si después de especificar el periodo con la P en el datetime utilizamos la T, lo que estamos indicando es que hay mucha mayor precisión en la fecha.

Así, para el caso del tiempo de la maratón pondremos lo siguiente:

La maratón se corrió en <time datetime="PT2H 05M 32S">2 horas, 5 minutos y 32 segundos</time>

Dos marcadores y una forma sencilla de especificar las duraciones en HTML5.

Vídeos sobre HTML5

Disfruta también de nuestros artículos sobre HTML5 en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML5

¿Te atreves a probar tus habilidades y conocimiento en HTML5 con nuestro test?

Test HTML5
Google

Añadir marcas dinámicamente a un mapa de Google Maps

Creado: 10/Oct/2012 Actualizado: 27/Ago/2021

En este ejemplo vamos a ver cómo podemos añadir una marca a un mapa de forma dinámica. Para ello vamos a utilizar lo aprendido en los ejemplos Cómo añadir una marca a Google Maps y Detectar la longitud y latitud sobre un mapa de Google Maps. Y es que el ejemplo es una combinación de creación de marcas y gestión de eventos onclick sobre el mapa.

Lo primero, como hacemos siempre, sera cargar el mapa de Google Maps.

var myLatlng = new google.maps.LatLng(40.674389,-4.700432);
var mapOptions = {
  zoom: 12,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};
					
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

Lo siguiente será registrar el evento onclick sobre el mapa mediante el método addListener.

google.maps.event.addListener(map, 'click', function(event) {
  addMark(event.latLng);
});

Lo que hemos hecho ha sido invocar al método addMark, el cual recibirá un objeto de tipo LatLng con la longitud y latitud en la cual vamos a añadir la marca.

Si revisamos el método addMark veremos que lo que vamos a hacer es crear un objeto de tipo Marker de Google Maps, que es el que representa a las marcas. Y dicho objeto tendrá como posición la recibida en el parámetro LatLng.

function addMark(location){
  marker = new google.maps.Marker({
    position: location,
    map: map
  });
}

Así ya tenemos añadida la marca al mapa de Google Maps de forma dinámica utilizando un click.