lunes, 21 de junio de 2010

Serie de Fibonacci Recursiva

Aqui también dejo la versión de la suceción en forma recursiva, que es mas efectiva pero consume mas memoria.


public class Main {
public static long Fibonacci(long n) {
return (n < 2 ) ? 1 : Fibonacci(n-1) + Fibonacci(n-2);
}
public static void main(String[] args) {
int n=7;
for(int i=0; i < n; i++) System.out.print(Fibonacci(i) + " ");
}
}

Serie de Fibonacci en Java

Aqui dejo un ejemplo que me han pedido en varias oportunidades. Un programa simple que imprime los N números de la sucesión de Fibonacci.


public class Main {
public static void Fibonacci(long n) {
long i,n0=1,n1=0,c;
for (i=1;i<=n;i++) {
c=n0+n1;
System.out.print(c + " ");
n0=n1;
n1=c;
}
}
public static void main(String[] args) {
Fibonacci(7);
}
}

lunes, 14 de junio de 2010

Firmar una aplicacion en Java

Cuando creamos una aplicación móvil (o aplet) para cualquier arquitectura, ésta posee permisologia restrictiva para evitar la propagación de códigos maliciosos (virus, aplicaciones no confiables).

En algunas ocasiones necesitamos que nuestra aplicación acceda a recursos que normalmente están restringidos debido al criterio antes mencionado, así que lo mas recomendable es que le hagamos una firma digital.

Existen dos ejecutables que se encuentran en el directorio bin de nuestra instalación de JAVA, llamados keytool, y jarsigner, los cuales podrán ser invocados desde sus respectivas rutas (en caso de windows c:\Program Files\JDK....\bin\).

Solo hacen falta dos pasos para firmar una aplicacion:

1. Generar el Certificado Digital; para eso ejecutamos:

>keytool -genkey -alias MIFIRMA -validity 365 -v

donde MIFIRMA puede ser el nombre de su grupo de claves, o incluso de su compañia. Durante la creación se le pedirá una contraseña para generar la firma, asi como sus datos personales y/o empresariales.

2. Aplicar el certificado digital a un ejecutable o clase:

>jarsigner MiPrograma.jar MIFIRMA -verbose

La aplicación de la firma solo pedirá la contraseña indicada en el paso 1.

Ya con esto tenemos a MiPrograma.jar listo para ser publicado en cualquier sitio o dispositivo!