I am trying to divide two full double values (i.e. double variables with all the memory filled up with a high precision number). Moreover, the result of the operation will be allocated in a double variable.
When I do the process, this one returns me NaN.
I read in some place before that two full double values when multiplied or divided between themselves will result in a high memory value, one that cannot be allocated in a double variable.
Am I right?
How could I solve this trouble?
public class CoeficienteAngular {
    public static double coefAngularImpar(    int x/*Coeficiente 
    da longarina a qual se analiza*/,         double y/*Distância 
    entre as longarinas*/,                     double z/*Somatorio*/){
        double beta;
        double betaPrim;
        betaPrim = (double) x/y;
        beta = betaPrim/z;
        return beta;
    }
    public static double coefAngularPar(    int x/*Coeficiente 
    da longarina que se analiza*/,             double y/*Distância 
    entre as longarinas*/,                     double z/*Somatório*/){
        double numerador, denominador, fatorCorrecao;
        double beta;
        int moduloL = Math.abs(x);
        numerador = (double)(moduloL-1)+(double)(1/2);
        denominador = y*z;
        fatorCorrecao = 1;//Inicializando a variável
        if(x>=0){
            fatorCorrecao = 1;
        }else if(x<0){
            fatorCorrecao = -1;
        }
        beta = fatorCorrecao*(numerador/denominador);
        return beta;
    }
}
				
                        
Don't use doubles. To avoid precision loss, use
BigDecimalinstead (see Javadoc). You can also read this post where people explained perfectly the reasons for using BigDecimal.