Buenas, tengo un fallo....bastante tonto pero es que ahora mismo no caigo que hago mal:
tengo 2 datos double que los divido entre ellos en otro double, y siempre me sale que vale infinity.
valgan esto: 8.0 / 4.0
o esto : 8.2 / 4.1
o con otros valores, siempre me pone que el resultado es infinity.
Este es el codigo:
double division = (dato/datoUs);
Alguien me puede ayudar? gracias
WTF!, debes estar haciendo otra cosa por hay, por que no hay problema en eso
no lo entiendo yo tampoco la verdad, voy a formatearlos a ver.... es que además he ido metiendo System.out.println con los valores que van cogiendo y me salen divisiones como las que he puesto:
8.0/4.0 8.2/4.1 9.4/6 y siempre el resultado es el mismo, infinity....
Mejor pone todo el codigo, para detectar el error, ya que claramente no es ese.
public void calculaPoPonderado(){
double[]datoArea = new double[cadenaArea.length];
double[]datoPo = new double[cadenaPo.length];
double[]datoPoUnitario = new double[cadenaPo.length];
double areaTotal = 0;
double datoPoPonderado = 0;
for(int i=0;i<cadenaArea.length;i++){
datoArea[i]=Double.parseDouble(cadenaArea[i]);
datoPo[i]=Double.parseDouble(cadenaPo[i]);
areaTotal+=datoArea[i];
}
for(int i=0;i<cadenaArea.length;i++){
datoPoUnitario[i]= (datoArea[i]/areaTotal)*datoPo[i];
datoPoPonderado+=datoPoUnitario[i];
}
}
public void calculaC(){
calculaPoPonderado();
double datoPd = Double.parseDouble(cadenaPd);
double divisionPdPo = datoPd/poPonderado;
System.out.println("LA DIVISION PD / PO " +divisionPdPo);
siempre da infinity... :huh:
ufff creo que ya lo he visto, poPonderado NO ESTA INICIALIZADO, es variable global....y en el metodo anterior que lo calcula, antes tenia un return y hay lo igualaba...y lo hice void y se me ha pasado igualarlo.... voy a probar y espero que sea eso
siiiiiiiiiiii era eso, jobar ya me estaba volviendo loco, digo pero como no puedo hacer una división??? que ha ocurrido??
es que los nombres de las variables son muy parecidos y me lie tontamente...
pero bueno, ya lo he corregido por suerte, gracias, la verdad que si no pongo el código y me paro a pensar.... oye cuando finalizao el método calculaC(); no igualo la variable global al resultado... no hubiera caido en el fallo, ya me puedo ir a dormir tranquilo ;D ;D