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

division en JAVA con eclipse

Estas en el tema de division en JAVA con eclipse en el foro de Java en Foros del Web. hola tengo una duda,, trato de dividir unos numeros en JAva y siempre me marca 0 y no entiendo porque este es todo mi codigo ...
  #1 (permalink)  
Antiguo 09/09/2013, 16:11
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
division en JAVA con eclipse

hola tengo una duda,, trato de dividir unos numeros en JAva y siempre me marca 0
y no entiendo porque este es todo mi codigo

Código Java:
Ver original
  1. int grupo, mujer=0, hombre=0;
  2.         float porcHombre=0, porcMujer=0;
  3.         String cond;
  4.        
  5.         System.out.print("Total de grupo: ");
  6.         grupo = teclado.nextInt();
  7.         for(int x = 0; x < grupo; x++)
  8.         {
  9.             System.out.print("eres hombre: ");
  10.             cond = teclado.next();
  11.            
  12.             if(cond.equals("si"))
  13.                 hombre++;
  14.             else
  15.                 mujer++;
  16.         }
  17.        
  18.         porcHombre=(hombre/grupo)*100;  <-- esta es la parte de la division que me regresa cero y le mando valores bueno para que salga numero mayor a cero
  19.         porcMujer=(mujer/grupo) * 100;
  20.        
  21.        
  22.         System.out.println("---");
  23.         System.out.println("total hombres: "+hombre);
  24.         System.out.println("total mujeres: "+mujer);
  25.         System.out.println("porcentaje hombres: "+porcHombre);
  26.         System.out.println("porcentaje mujeres: "+porcMujer);

espero me puedan ayudar gracias amigos
__________________
si siempre hay algo nuevo que aprender
  #2 (permalink)  
Antiguo 09/09/2013, 22:37
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: division en JAVA con eclipse

Las divisiones con enteros no dan decimales. Por ejemplo, 1/2 en realidad es 0.5, pero al ser enteros, da 0. De la misma forma, 3/2 debería dar 1.5 pero da 1.

Declara las variables con float o double, o bien, a la hora de hacer cuentas, haz el cast correspondiente y/o usa decimales en las constantes. Por ejemplo, 3.0/2.0 si da 1.5

Para hombre podría valerte

(float)hombre/(float)grupo*100.0;

o cambiando un poco el orden

hombre*100.0/grupo

ya que hombre*100.0 ya daría decimales y al dividir luego por grupo también.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 10/09/2013, 09:30
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: division en JAVA con eclipse

muchas gracias chuidiang tu información me ayudo mucho,
solucione mi problema casteando
Cita:
(float)hombre / (float) grupo
muchas gracias
__________________
si siempre hay algo nuevo que aprender

Etiquetas: division, eclipse, string
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 13:43.