Contenido de certificación
Buscar
Social
En javaHispano...
lunes
abr072014

Más sobre GregorianCalendar....

¿Cuál es la siguiente salida y por qué?

Aclaraciones: se dispone de un equipo bastante potente a la hora de ejecución, y el día de ejecución es: 7 de Abril de 2014

NOTA: no vale hacer uso de IDE.
package es.orange.gateway.tools;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class Pruebas {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		GregorianCalendar gc1 = new GregorianCalendar();

		gc1.set(Calendar.MONTH, 4);

		try {
			Thread.sleep(10);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		GregorianCalendar gc2 = new GregorianCalendar();

		gc2.set(Calendar.MONTH, 4);

		System.out.println(gc2.compareTo(gc1));
		
		GregorianCalendar gc3 = new GregorianCalendar();

		gc3.set(Calendar.MONTH, 4);
		
		GregorianCalendar gc4 = new GregorianCalendar();

		gc4.set(Calendar.MONTH, 4);

		System.out.println(gc4.compareTo(gc3));
		
		GregorianCalendar gc5 = new GregorianCalendar();

		gc3.set(Calendar.MONTH, 4);
		
		GregorianCalendar gc6 = new GregorianCalendar();

		gc6.set(Calendar.MONTH, 16);

		System.out.println(gc5.compareTo(gc6));

		System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(gc6.getTime()));

	}

}


jueves
abr032014

Pregunta sobre Java

¿Cuál es la salida por consola, y cuál la escrita en el fichero, de ejecutar el siguiente código fuente?

NOTA: tiene más gracia contestar sin hacer uso de IDE que haciendo uso de IDE


package pruebas;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
 *
 * @author Jaime Carmona Loeches
 *
 */
public class Escritor implements Runnable {
private String nombreFichero = "";
@Override
public void run() {
System.out.println("Escritor ejecutando");
ejecutaLogica(0);
}
public Escritor(String nombreFichero) {
System.out.println("Escritor inicializado");
this.nombreFichero = nombreFichero;
}
private synchronized void ejecutaLogica(int numEjecucion) {
System.out.println(numEjecucion);
FileWriter fw = null;
BufferedWriter bw = null;
try {
File file = new File(nombreFichero);
fw = new FileWriter(file);
bw = new BufferedWriter(fw);
for (int i = 0; i < 10; i++) {
String texto = numEjecucion + ":" + i;
bw.write(texto + "\n");
}
cierraRecursos(fw, bw);
numEjecucion++;
if (numEjecucion < 2)
ejecutaLogica(numEjecucion);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
}
}
private void cierraRecursos(FileWriter fw, BufferedWriter bw) {
try {
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) {
String nombreFichero = "out.txt";
Escritor escritor = new Escritor(nombreFichero);
escritor.run();
}
}

miércoles
abr022014

GregorianCalendar en Java

¿Cuál es la salida del siguiente programa y por qué? NOTA: no vale hacer uso de IDE.
package test;

import java.util.Calendar;
import java.util.GregorianCalendar;

/**
 * Probando Gregorian Calendar
 * 
 * @author Jaime Carmona Loeches
 * 
 */
public class Pruebas {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		GregorianCalendar gc1 = new GregorianCalendar();
		gc1.set(Calendar.MONTH, 4);
		GregorianCalendar gc2 = new GregorianCalendar();
		gc2.set(Calendar.MONTH, 12);
		
		System.out.println(gc2.compareTo(gc1));		
	}

}

miércoles
abr022014

Pregunta sobre referencias

¿Cuál es la salida del siguiente programa y por qué? NOTA: no vale hacer uso de IDE.

package test;

import java.util.ArrayList;
import java.util.List;

/**
 * Probando referencias en objetos y en string's
 * 
 * @author Jaime Carmona Loeches
 * 
 */
public class Pruebas {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		List lista1 = new ArrayList();
		lista1.add(new Objeto(1, 1));

		List lista2 = new ArrayList();
		lista2.add("1");

		for (Objeto objeto : lista1) {
			objeto.setA(2);
			objeto.setB(2);
		}

		for (String objeto : lista2) {
			objeto = "2";
		}

		for (Objeto objeto : lista1) {
			System.out.println(objeto.toString());
		}

		for (String objeto : lista2) {
			System.out.println(objeto.toString());
		}
	}

}

class Objeto {
	int a = 0;
	int b = 0;

	public Objeto(int a, int b) {
		super();
		this.a = a;
		this.b = b;
	}

	public int getA() {
		return a;
	}

	public void setA(int a) {
		this.a = a;
	}

	public int getB() {
		return b;
	}

	public void setB(int b) {
		this.b = b;
	}

	@Override
	public String toString() {
		return "Objeto [a=" + a + ", b=" + b + "]";
	}

}

jueves
mar272014

Preguntas sobre fechas

Buenos días.

Se plantean las siguientes preguntas, acerca gestión de fechas en Java.

1) Primera pregunta teórica, ¿qué diferencia existe entre las fechas de Java 6 y las últimas versiones de Java?

2) Pregunta práctica: ¿cómo determinar si una cadena, pasada como parámetro, se corresponde a una fecha correcta?

3) Segunda pregunta práctica: ¿cómo poder obtener el último día de un mes determinado?

Un saludo,

 

jueves
may302013

¿Cuál es la salida del siguiente programa y por qué?

 

public class Pruebas {
/**
* @param args
*/
public static void main(String[] args) {
  boolean a = true;
  boolean b = true;
  __main:
{
  if (a == true) {
  System.out.println("dentro del main: a es verdadero");
  System.out.println("ejecutamos break __main");
  break __main;
  } else {
  System.out.println("dentro del main: a es falso");
  }
  if (b == true) {
System.out.println("dentro del main: b es verdadero");
} else {
System.out.println("dentro del main: b es falso");
}
}
System.out.println("fuera del bloque __main");
} // end main
}

 

 

lunes
may062013

Pregunta sobre excepciones

Tenemos dos códigos: se pide en cada uno de ellos, decir si compila, y en tal caso, comentar la salida en tiempo de ejecución (lo más detallada posible).
CÓDIGO 1
package scjp;
public class Pregunta {
private int a = 0;
private int b = 10;
private int c = b / a;
public Pregunta() {
System.out.println("Hola JavaHispaneros "+c);
}
public static void main(String args[]) {
Pregunta p = new Pregunta();
}
}

package scjp;
public class Pregunta {
private int a = 0; private int b = 10; private int c = b / a;
public Pregunta() { System.out.println("Hola JavaHispaneros "+c); }
public static void main(String args[]) { Pregunta p = new Pregunta();
}}

 

CÓDIGO 2

package scjp;

 

public class Pregunta {

 

private D d = new D();

 

public Pregunta() {

System.out.println("Por aquí estamos otra vez " + d);

}

 

public static void main(String args[]) {

Pregunta p = new Pregunta();

 

}

 

class D {

 

D() throws PersonalException {

throw new PersonalException();

}

 

}

 

class PersonalException extends Exception {

 

}

}

 

lunes
abr152013

Más sobre Java 7

A continuación, comentamos las modificaciones principales que presenta Java 7 con respecto a Java 6. Un saludo, Jaime.

Click to read more ...

martes
abr092013

Pregunta sobre switch

Hola a todos,

¿Podéis argumentar cuál sería la salida en consola después de ejecutar el siguiente programa?

 

package javahispano;

public class EjemplosSwitch {

    public static void main(String args[]) {
        String jugador = "Cristiano Ronaldo";

        switch (jugador) {
        case "Cristiano Ronaldo":
            System.out.println("Real Madrid CF");
        case "Leo Messi":
            System.out.println("FC Barcelona");
        }
    }
}

Un saludo,

    Jaime.

viernes
ene182013

Gestión de hilos dentro de una aplicación web de Tomcat.

Hola, buenos días. Comparto una experiencia una experiencia sobre el uso y la gestión de hilos en una aplicación web de Tomcat. Probablemente, a algún lector desarrollador le suene..., concurrencia, Tomcat...

Click to read more ...