Olá pessoal. Eu desenvolvi uma aplicação que resolve o calculo de Bhaskara passo a passo, diferente dos que pela internet que só da a resposta. O programa efetua o calculo do jeito que eu planejei. Porém, na matemática, existem situações que a resposta de Bhaskara é em forma de fração como por exemplo 1/2 . O meu programa não exibi 1/2 , mas sim 0,5 , ou seja , ele está dividindo 1/2. Alguém ai consegui dar uma ajudinha para eu fugir desse resultado decimal ? Sei que 0,5 = 5/10. O numerador e o denominador é divisível por 5 dae temos 1/2. Vou deixar o código abaixo. Lembrando que funciona perfeitamente. Só queria que minha resposta viesse em forma de fração e não decimal.
public void calculoDelta(){
double a = Double.parseDouble(n1.getText());
double b = Double.parseDouble(n2.getText());
double c = Double.parseDouble(n3.getText());
// int calculo = (int) ((Math.pow(b, 2)) - (4*a*c));
Double calculo = ((b*b) - (4*a*c));
String delta = "Delta = "+ (b*b) + "- 4 x " +a+" x "+c ;
resultado.setText(delta+"\n" + "Delta = " +Double.toString(calculo));
if (calculo < 0) { //condição para resultado negativo
saida.setText ("A equação não possui raiz real");
} else {
if (calculo > 0){ // condição para calcular duas raízes do delta
saida.setText ("Calcular duas raízes");
double x1 = (-b + (int)Math.sqrt(calculo)); //x1 = numerador
double denominador = (2*a);
double calc1 = x1 / denominador;
double x2 = (-b - (int)Math.sqrt(calculo));
double calc2 = x2 / (2*a);
resultado2.setText(( -b + "+"+(int)Math.sqrt(calculo)) +"\n"+ "----- "+ "\n"+ 2*a + "\n" + "\n"+"x1 ="+ calc1+"\n"+
"\n"+( -b + "-"+(int)Math.sqrt(calculo)) +"\n"+ "----- "+ "\n"+ 2*a + "\n" + "\n"+"x2 ="+ calc2);
} else {
saida.setText("Calcular uma raíz apenas");
// calculo de uma raiz do delta
double x1 = (-b + (int)Math.sqrt(calculo));
double denominador = (2*a);
double calc1 = x1 / denominador;
resultado2.setText(( -b + "+"+(int)Math.sqrt(calculo)) +"\n"+ "----- "+ "\n"+ 2*a + "\n" + "\n"+"x1 ="+ calc1);
}
}
}
Fico agradecida quem puder ajudar

