Sto scrivendo questo semplicissimo programma da questo unico PDF chiamato Think AP Java, e non riesco a spiegarmi questo:
Quando scrivo
public static double method_1(double x)
{
double result =( x*(Math.exp(-x) ) ) + (Math.sqrt(1-Math.exp(-x) ) );
System.out.println(result);
return result;
}
Ottengo l'output di: 1.1629395387920924
Ma quando scrivo:
public static double multAdd(double a, double b, double c)
{
double result = (a*b) +c;
System.out.println(result);
return result;
}
e
public static double method_2(double x)
{
double result_1 = (multAdd(1.0, (Math.exp(-x)), 0.0)) ;
double result_2 = (Math.sqrt(1.0-Math.exp(-x)));
double final_result = result_1 + result_2;
System.out.println(final_result);
return final_result;
}
L'output per method_2 è: 0.36787944117144233 E 1.1629395387920924, stampato direttamente l'uno sull'altro.
Che cosa può spiegare la causa di questo? Qualsiasi aiuto sarà molto apprezzato, dato che sono solo un principiante.