Java - Exception in thread "main" java.lang.ArithmeticException: / by zero

 
Vista:
Imágen de perfil de augusto

Exception in thread "main" java.lang.ArithmeticException: / by zero

Publicado por augusto (5 intervenciones) el 07/04/2017 04:04:37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package LibroJava;
 
public class factores1 {
 
	public static void main(String[] args) {
		for ( int i = 2; i <= 100; i++) {
			for (int j = 0; i < 70; j++) {
				if (( i % j) == 0 ) {
					System.out.println(" "+j);
				}
 
			}
		}
 
	}
}
//Me da este mensaje o error
Exception in thread "main" java.lang.ArithmeticException: / by zero
at LibroJava.factores1.main(factores1.java:8)
Faltara incluir alguna libreria?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Exception in thread "main" java.lang.ArithmeticException: / by zero

Publicado por Fices (2 intervenciones) el 07/04/2017 06:30:09
El problema es que estás dividiendo i%j y j adquiere el valor 0. Un número entre 0 da error .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de augusto

Exception in thread "main" java.lang.ArithmeticException: / by zero

Publicado por augusto (5 intervenciones) el 09/04/2017 19:13:30
Gracias Comunidad! por responder,lo modifique con este codigo: Si, es verdad 'int j ' arrancaba a 0 (cero) y alli estaba el error.
//////////////////////////////////////////////////////////////////////////
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package LibroJava;
 
//Objetivo: Mostrar factores de un numero en unn rango del 2 al 100 
//i es el dividendo
//j es el divisor
   public class factores1 {
   public static void main(String[] args) {
	for(int i=2;i<100;i++){
	        System.out.println(" Factores de " + i + " : ");
			// j (divisor debe ser siempre menor que el dividendo)
	               //controla q no te de resultado decimales j < i
		for ( int j = 2; j < i; j++ ){
			if ( i % j == 0){
			  System.out.print("      "+j);
			  System.out.println(" ");
			}
		}
	  }// del for externo
     }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/////Trate de hacerlo diferente,la linea' :
package LibroJava;

public class modulo1 {

	public static void main(String[] args)
	  throws java.io.IOException{
		int i = 50, j = 12;
		System.out.println("        Factores de " + i);
		
                 i = (int) System.in.read();// NO FUNCIONA de la manera esperada pues me imprime el numero ascii del caracter y no el numero como 
                                                     //entero
		j = (int) System.in.read();  NO FUNCIONA de la manera esperada pues me imprime el numero ascii del caracter y no el numero como 
                                                     //entero
		
		   if (( j < ( i - 1 )) && ( i % j ==0 )) {
		   	System.out.println(j + " es factor de " + i) ;
		   }
		   else{
			System.out.println( j + " no es factor de " + i ) ;
		   }
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de augusto

Exception in thread "main" java.lang.ArithmeticException: / by zero

Publicado por augusto (5 intervenciones) el 09/04/2017 23:18:50
Que otro metodo es recomendable usar para mostrar exactamente lo q ingresa el usuario?
gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar