Entradas

Java: Ejemplo de como conectar a una base de datos PostgreSQL con Java

Siguiendo con la serie de posteos con ejemplos simples y prácticos de programación Java, les dejo un ejemplo de como conectar a una base de datos PostgreSQL.

El ejemplo está hecho para cualquier versión de PostgreSQL, lo único que cambiará será el correspondiente conector que pueden descargar desde:

https://jdbc.postgresql.org/

Nota:
Algunas veces ponen como nombres de tablas o columnas caracteres mayúsculas y minúsculas. Por ese motivo la query que se ejecuta incluye el caracter "\" para poner el nombre de la tabla o columna entre comillas dobles.

El puerto por defecto del PostgreSQL es el 5432, si usaron otro puerto en su instalación, cambiarlo.


Espero les sea de utilidad.

/////////////////////////////

package postgresql;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class SimplePostgreSqlConnector {

public static void main(String[] args) {
conectaPG();
}


private static void conectaPG(){
try {
        Clas…

Java: Pangrama o frase holoalfabética

Hola, acá les dejo la solución de una tarea de programación en la que me solicitaron ayuda.

Verificar si una frase o texto es un pangrama.


Un pangrama (del griego: παν γραμμα, «todas las letras») o frase holoalfabética es un texto que usa todas las letras posibles del alfabeto de un idioma.

https://es.wikipedia.org/wiki/Pangrama


Esta simple clase contiene cuatro metódos diferentes de verificar si un texto es un pangrama

Espero les sea de utilidad

////////////////////////////////


public class Panagrama {

public static void main(String[] args) {
//String strFrase = "abcdefghijklmnopqrstuvwxyz";
String strFrase = "El cadáver de Wamba, rey godo de España, fue exhumado y trasladado en una caja de zinc que pesó un kilo";
char [] arrFrase = strFrase.toCharArray();
String strAlfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char [] arrAlfabeto = strAlfabeto.toCharArray();

boolean blnTodas = isPanagram2(arrAlfabeto,arrFrase);
System.out.println("La frase : "+ strFrase );
if…

Java: Descomprimir archivos con java

Hola, acá les dejo un ejemplo que me estuvieron pidiendo hace tiempo.
Desempaquetar / descomprimir uno o varios archivos:

.ZIP
.RAR
etc

con sentencias de java, sin utilizar librería externas.

Espero les sea de utilidad.


////////////////////////////////////////////
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipInputStream;


public class Descomprime {

public static void main(String[] args) {

try{

File carpeta = new File("D://DATA//pruebadescomprime");
  for (File f : carpeta.listFiles()) {
  if(f.getName().contains(".zip")){
System.out.println(f.getName());
descomprimir(f.getAbsolutePath(), f.getAbsolutePath().substring(0, f.getPath().length()-4));
//f.delete(); opcional, si desea también borrar el archivo zip original
  }
  }

}
catch(Exception e){
System.out.println(e.getMessage());
}
}

public static void descomprimir(String archivoZIP, String arc…

Java: Listar fechas intermedias dentro de un rango

Ejemplo de un algoritmo que es muy usado en programación, como es el tratamiento de fechas.
Esta utilidad les permitirá obtener las fechas intermedias entre una fecha inicial y una fecha final, para cualquier formato de fecha que tengan:

yyyy/MM/dd
yyyyMMdd
yyMMdd
yyyy.MM.dd
yy MM dd


Espero les sirva


//////////////////////////////////////////

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;

public class UtilFechas {

public static void main(String[] args) {

List listaResultado = listarFechasIntermedias("2018-12-28", "2019-01-03" , "yyyy-MM-dd", "yyyy MM dd");
//fecha inicial, fecha final, formato input, formato output
for(String fecha : listaResultado)
System.out.println(fecha);

}

private static List listarFechasIntermedias(String strFechaInicial, String strFechaFinal, String formatoIn, String formatoOu…

Java: Generar dígito verificador - Algoritmo de Luhn - Algoritmo de módulo 10

El algoritmo de Lenin o fórmula de Luhn, también conocida como "algoritmo de módulo 10", es una fórmula de suma de verificación, utilizada para validar una diversidad de números de identificación; como números de tarjetas de crédito, números IMEI, etc.

https://es.wikipedia.org/wiki/Algoritmo_de_Luhn

Simple Clase: DigitoVerificadorLuhn.java

////////////////////////


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

public class DigitoVerificadorLuhn {

    public static boolean correctoVerificador(String card) {
        if (card == null)
            return false;
        char digitoverificador = card.charAt(card.length() - 1);
        String digito = calculaDigitoVerificador(card.substring(0, card.length() - 1));
        return digitoverificador == digito.charAt(0);
    }

    public static String calculaDigitoVerificador(String original) {
        if (original == null)
            return null;
        String digit;
        /* se convierte el número en un arreglo de digitos */
 …

Informática: Un ingeniero de QA entra a un bar

Imagen
Un ingeniero de QA entra a un bar. Pide 1 cervezas. Pide 0 cervezas. Pide 999999999999 cervezas. Pide una lagartija. Pide -1 cervezas. Pide 1 dsfdsfdsfdsf.
En el mundo real, una persona entra a un bar. Pregunta donde está el baño. El bar se incendia y todos dentro mueren.

20 años del trailer de Star Wars - La Amenaza Fantasma

Imagen
Hoy 19 de Noviembre se cumplen 20 años del lanzamiento del trailer esta película que significó la vuelta al cine de la saga de Star Wars.
Se preguntan como pudieron las personas ver este trailer ? Si en aquella época no había Facebook ni Twitter ni Youtube, incluso la Internet no estaba tan expandida como ahora.
Fue lanzado en 75 salas de cine de Estados Unidos y Canadá y se dice que mucha gente solo compraba los tickets de dichas películas solo para ver el trailer y luego irse.