Foros del Web » Programación para mayores de 30 ;) » Java »

Excepciones Java Comportamiento-Extraño

Estas en el tema de Excepciones Java Comportamiento-Extraño en el foro de Java en Foros del Web. Buenas Tardes: Estoy aprediendo en estos momentos excepciones en java y me toco hacer el codigo que generara numeros aleatorios y los dividiera por -12345, ...
  #1 (permalink)  
Antiguo 03/08/2012, 16:01
 
Fecha de Ingreso: agosto-2012
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Excepciones Java Comportamiento-Extraño

Buenas Tardes:

Estoy aprediendo en estos momentos excepciones en java y me toco hacer el codigo que generara numeros aleatorios y los dividiera por -12345, aqui les dejo el codigo:

Código PHP:
public class Ejemplo1Try_catch 
{

    
/**
     * @param args the command line arguments
     */
    
public static void main(String[] args
    {
        
// TODO code application logic here
        
int num1;
        
int num2;
        
int i;
        
        
        for(
i=1i<1000i++)
        {
            
num1 =  (int)(Math.random()*9+1);
            
num2 = (int)(Math.random()*9+1);
            
            try
            {
                
System.out.println(-12345/(num1/num2));

            }
            catch(
ArithmeticException ex)
            {
                
System.err.println(": Error, no se puede dividir un numero por 0");
            }
        }
        
System.out.println("Programa terminado");        
       
    } 
// Fin metodo main

// Fin clase 
El problema pasa cuando termina el programa: se supone que deberia terminar en la instruccion, System.out.println("Programa terminado"); , pero hay un comportamiento erratico:

Código PHP:
781Errorno se puede dividir un numero por 0
-12345
-1763
-12345
-12345
782
Errorno se puede dividir un numero por 0
-12345
-6172
-12345
783
Errorno se puede dividir un numero por 0
-6172
-12345
-4115
784
Errorno se puede dividir un numero por 0
-12345
-6172
785
Errorno se puede dividir un numero por 0
787
Errorno se puede dividir un numero por 0
793
Errorno se puede dividir un numero por 0
Programa terminado
795
Errorno se puede dividir un numero por 0
797
Errorno se puede dividir un numero por 0
803
Errorno se puede dividir un numero por 0
804
Errorno se puede dividir un numero por 0
807
Errorno se puede dividir un numero por 0
808
Errorno se puede dividir un numero por 0
812
Errorno se puede dividir un numero por 0
814
Errorno se puede dividir un numero por 0
815
Errorno se puede dividir un numero por 0
817
Errorno se puede dividir un numero por 0
821
Errorno se puede dividir un numero por 0
827
Errorno se puede dividir un numero por 0 
Si uds. se dan cuenta el programa llega a la ultima instruccion y !se sigue ejecutando¡

Se que es en las instrucciones
Código PHP:
num1 =  (int)(Math.random()*9+1);
num2 = (int)(Math.random()*9+1); 
, pero la verdad no se Porque es.
  #2 (permalink)  
Antiguo 04/08/2012, 03:16
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Excepciones Java Comportamiento-Extraño

Hola:

El problema es usar System.err y System.out. Aunque ambos salgan a la pantalla, son "flujos" independientes de salida y no necesariamente tienen que salir ordenados. Cuando el programa termina y System.out dice "programa terminado", System.err todavía no ha acabado de sacar por pantalla todos los errores, los tiene acumulados, y sigue en ello hasta que termina.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 06/08/2012, 10:30
 
Fecha de Ingreso: agosto-2012
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Excepciones Java Comportamiento-Extraño

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

El problema es usar System.err y System.out. Aunque ambos salgan a la pantalla, son "flujos" independientes de salida y no necesariamente tienen que salir ordenados. Cuando el programa termina y System.out dice "programa terminado", System.err todavía no ha acabado de sacar por pantalla todos los errores, los tiene acumulados, y sigue en ello hasta que termina.

Se bueno.
Gracias.

Etiquetas: clase, excepciones, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:26.