dae galera =D
tranquilo? Eu estou fazendo um programa que calcula uma certa função pelo método da bisseção. O problema é que depois que ele faz o primeiro while ele volta a assumir os valores de a e b iniciais que são 0 e 1. E eu gostaria que ele assumisse os novos valores que eu dei, que foram: b = xisMedio e o a sim continuar = 0.
Qual o erro no codigo?
========================================
import javax.swing.*;
public class Bissecao {
public static void main (String[]Args){
double erro, E = 0.0001, c, d, xisMedio = 0, fMedio, produto, alfa;
double a;
double b;
a = 0;
b = 1;
c = f(a);
d = f(b);
erro = Math.abs(b-a);
while (erro > E) {
xisMedio = a + b/2;
fMedio = f(xisMedio);
if (fMedio == 0){
alfa = xisMedio;
erro = 0;
System.exit(0);
}
produto = fMedio*c;
if (produto < 0){
b = xisMedio;
d = fMedio;
} else
{
a = xisMedio;
c = fMedio;
}
erro = Math.abs(b-a);
}
JOptionPane.showMessageDialog(null, "O resultado é " + xisMedio);
}
private static double f(double x) {
double funcao;
funcao = Math.exp(x)*Math.sin(x) - 1;
return funcao;
}
}
========================================