elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problemas de tiempo y ficheros en java.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemas de tiempo y ficheros en java.  (Leído 4,453 veces)
maikmilk

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Problemas de tiempo y ficheros en java.
« en: 31 Mayo 2012, 18:06 pm »

Estoy programando un código que calcula los números primos de Mersenne, cada vez que encuentro uno lo imprimo por pantalla, los siete primeros número los calcula rapido el octavo tarda 49 segundos...etc

Mi pregunta es la siguiente existe la posibilidad de que cada vez que imprima un numero primo por pantalla a su vez salga la o incluso hora:minutos:segundos hora:minutos:segundos:milisegundos.

Un ejemplo:
Código
  1. for(int i = 0; i > 10; i++)
  2. {
  3.      System.out.print("Hola");
  4. }

NOTA: Código ejemplo.

Lo que yo quiero es que cada vez que se imprima por pantalla la palabra "Hola" incluya la hora:minutos:segundos... del sistema

Y por otra parte lo que necesito saber es si puedo tambien cada vez que imprima por pantalla un "Hola" mandarlo a un .txt, de la siguiente forma:
1. Imprimo Hola por pantalla y lo guardo en un txt
2. Imprimo Hola por pantalla y lo guardo en un txt
3. Imprimo Hola por pantalla y lo guardo en un txt
4. ...
así hasta que el bucle termine

Muchas gracias por las posibles soluciones  ;-)


En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: Problemas de tiempo y ficheros en java.
« Respuesta #1 en: 1 Junio 2012, 10:44 am »

Lee sobre las clases Calendar y Date
http://docs.oracle.com/javase/7/docs/api/


En línea

maikmilk

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Problemas de tiempo y ficheros en java.
« Respuesta #2 en: 1 Junio 2012, 11:24 am »

El caso es que lo e intentado con estas dos clases y funciona pero no como yo quiero.
Cuando empieza la ejecución del programa se marca la hora del sistema y cada vez que el bucle hace una pasada e imprime algo por pantalla sale siempre la hora del inicio del programa.
Voy a volver a mirar estas clases, de todas formas muchas gracias.
En línea

maikmilk

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Problemas de tiempo y ficheros en java.
« Respuesta #3 en: 1 Junio 2012, 12:27 pm »

Un ejemplo.

Código
  1. import java.util.*;
  2. import java.util.*;
  3. import java.text.DecimalFormat;
  4. public class Prueba
  5. {
  6.    public static void main(String args[])
  7.    {
  8.      java.util.Date utilDate = new java.util.Date(); //fecha actual
  9.  long lnMilisegundos = utilDate.getTime();
  10.  java.sql.Date sqlDate = new java.sql.Date(lnMilisegundos);
  11.  java.sql.Time sqlTime = new java.sql.Time(lnMilisegundos);
  12.  java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(lnMilisegundos);
  13.  System.out.println("util.Date: "+utilDate);
  14.  System.out.println("sql.Date: "+sqlDate);
  15.  System.out.println("sql.Time: "+sqlTime);
  16.  System.out.println("sql.Timestamp: "+sqlTimestamp);
  17.  
  18.          DecimalFormat decimal = new DecimalFormat("0");
  19.        java.util.Date fecha = new Date();
  20.        System.out.println("Lista de los "+decimal.format(6)+" primeros números primo de la secuencia de Mersenne");
  21.  
  22.        double contador;
  23.        double i;
  24.        double j;
  25.        for(i = 1; i<=25; i++)
  26.        {
  27.            contador = 0;
  28.            double op = ((Math.pow(2,i))-1);
  29.            for(j = 1; j<= op; j++)
  30.            {
  31.                if((op%j)== 0)
  32.                {
  33.                     contador++;
  34.                }
  35.                else
  36.                {
  37.  
  38.                }
  39.            }
  40.            if(contador == 2)
  41.            {
  42.                System.out.println("El numero "+decimal.format(op)+" es primo de la secuencia de Mersenne ");
  43.            }
  44.        }
  45.  
  46.  
  47.  long lnMilisegundosDos = utilDate.getTime();
  48.  java.sql.Timestamp sqlTimestampDos = new java.sql.Timestamp(lnMilisegundosDos);
  49.  System.out.println("sql.TimestampDos: "+sqlTimestampDos);
  50. }
  51. }
Se supone que tras la ejecución del bucle el tiempo debería ser diferente puesto que tarda unos segundos y aunque no fuera así los milisegundos deberiá ser diferentes pero no la salido que muestra por pantalla es esta:

Código
  1. util.Date: Fri Jun 01 12:18:50 CEST 2012
  2. sql.Date: 2012-06-01
  3. sql.Time: 12:18:50
  4. sql.Timestamp: 2012-06-01 12:18:50.591
  5. Lista de los 6 primeros números primo de la secuencia de Mersenne
  6. El numero 3 es primo de la secuencia de Mersenne
  7. El numero 7 es primo de la secuencia de Mersenne
  8. El numero 31 es primo de la secuencia de Mersenne
  9. El numero 127 es primo de la secuencia de Mersenne
  10. El numero 8191 es primo de la secuencia de Mersenne
  11. El numero 131071 es primo de la secuencia de Mersenne
  12. El numero 524287 es primo de la secuencia de Mersenne
  13. sql.Timestamp: 2012-06-01 12:18:50.591

Continuo investigando...alguna idea?
En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: Problemas de tiempo y ficheros en java.
« Respuesta #4 en: 1 Junio 2012, 12:48 pm »

1. Estas usando bases de datos? por que utilizas java.sql.Time y java.sql.Date?
2. Has visto la clase Calendar?
3. Has utilizado Google?

Con una simple búsqueda en internet:
http://carloszuluaga.wikidot.com/articulos:manejo-de-fechas-en-java-i
http://carloszuluaga.wikidot.com/articulos:manejo-de-fechas-en-java-ii


Antes de preguntar, buscar.
En línea

maikmilk

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Problemas de tiempo y ficheros en java.
« Respuesta #5 en: 1 Junio 2012, 13:20 pm »

1. Estas usando bases de datos? por que utilizas java.sql.Time y java.sql.Date?
2. Has visto la clase Calendar?
3. Has utilizado Google?

Con una simple búsqueda en internet:
http://carloszuluaga.wikidot.com/articulos:manejo-de-fechas-en-java-i
http://carloszuluaga.wikidot.com/articulos:manejo-de-fechas-en-java-ii


Antes de preguntar, buscar.

Precisamente antes de preguntar e buscado y e he llegado a la misma página que tu pero solo a la primera parte que es donde utiliza sql, y no yo no estoy usando base de datos, la segunda parte no la he visto pero después de leerlo ya he encontrado una solución.
Aún así gracias por tu ayuda
En línea

maikmilk

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Problemas de tiempo y ficheros en java.
« Respuesta #6 en: 1 Junio 2012, 13:36 pm »

Aqui esta el código final.
Con este método calculo los números primos de Mersenne, si sabeis que es vereis que con cualquier ordenador convencional es accesible calcular los ocho primeros primos de Mersenne ya que el noveno primo de Mersenne tiene ni mas ni menos que 19 dígitos, si dejamos el ordenador encendido y operando pues podríamos obtenerlo luego el décimo tiene 31 dígitos...etc

Por si alguien le interesa http://es.wikipedia.org/wiki/N%C3%BAmero_primo_de_Mersenne

El último primo obtenido es 47 y tiene 12.978.189 millones de dígitos ni mas ni menos

Código
  1. import java.util.*;
  2. import java.text.*;
  3. /**
  4.  * Calculo de números primos de Mersenne
  5.  *
  6.  * @author (maikmilk)
  7.  * @version (1.0)
  8.  */
  9. public class MersenneFinal
  10. {
  11.    public static void primosMersenneDos(double n)
  12.    {
  13.        DecimalFormat decimal = new DecimalFormat("0");
  14.        System.out.println("De los "+decimal.format(n)+" primeros dígitos naturales\n");
  15.        for(int i = 2; i <= n; i++)
  16.        {
  17.            double op = (Math.pow(2,i))-1;
  18.            boolean primo = true;
  19.            if(op == 2)
  20.            {
  21.                primo = true;
  22.            }
  23.            else
  24.            {
  25.                if(op%2 == 0)
  26.                {
  27.                    primo = false;
  28.                }
  29.                else
  30.                {
  31.                    int x = 3;
  32.                    int raiz =(int)Math.sqrt(op);
  33.                    while(x <= raiz && op%x != 0)
  34.                    {
  35.                        x += 2;
  36.                    }
  37.  
  38.                    if(x > raiz)
  39.                    {
  40.                        primo = true;
  41.                    }
  42.                    else
  43.                    {
  44.                        primo = false;
  45.                    }
  46.                }
  47.            }
  48.            if(primo == true)
  49.            {
  50.                Calendar tiempo = Calendar.getInstance();
  51.                System.out.println("El número "+decimal.format(op)+" es primo de la secuencia de Mersenne "+tiempo.get(Calendar.HOUR)+":"+tiempo.get(Calendar.MINUTE)+":"+tiempo.get(Calendar.SECOND)+":"+tiempo.get(Calendar.MILLISECOND));
  52.            }
  53.        }
  54.    }
  55. }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
java tiempo real
Sugerencias y dudas sobre el Foro
alfredobolson 1 2,650 Último mensaje 20 Octubre 2004, 22:48 pm
por Karcsi
Código de intervalos de tiempo(java)
Java
knightlain 0 18,674 Último mensaje 20 Octubre 2006, 18:34 pm
por knightlain
¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA) « 1 2 3 »
Java
the walrus 23 20,927 Último mensaje 5 Marzo 2010, 18:55 pm
por Leyer
Ayuda con esta clase en Java de Ficheros
Java
KeyPy HH 1 2,365 Último mensaje 8 Mayo 2012, 14:31 pm
por ELMED
Ficheros java
Java
SeñorX95 2 1,847 Último mensaje 27 Agosto 2015, 04:41 am
por BlackZeroX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines