E aí pessoal, eu tenho que criar uma "calculadora cientifica" usando métodos. O usuário vai escolher no menu qual operação que deseja e daí tem que aparecer o resultado na tela, eu consegui fazer quase tudo exceto a parte das raizes de uma equação de segundo grau. O cara vai digitar os valores para "a,b, c", daí resolvo a equação só que não tô conseguindo mostrar o resultado na tela.
O código:
import java.util.Scanner;
public class c{
public static void main(String[] args){
Scanner scn = new Scanner(System.in);
int fim = 0, escolha;
double r2;
System.out.println("!!Calculadora Cientifica!!" );
while(fim == 0){
System.out.println("Menu" );
System.out.println("1 - Raiz quadrda \n2 - Exponenciacao \n3 - Raizes de uma equacao de 2 grau \n4 - Area do retangulo \n5 - Fatorial \n8- Sair do programa" );
System.out.println("Escolha sua opcao:" );
escolha = scn.nextInt();
switch(escolha){
case 1:
System.out.println("Digite um valor:" );
int r1 = scn.nextInt();
System.out.println();
System.out.println("Resultado: " +raiz(r1));
System.out.println();
break;
case 2:
System.out.println("Digite um valor para a base:" );
double b = scn.nextDouble();
System.out.println("Digite um valor para o exponte:" );
double e = scn.nextDouble();
System.out.println();
System.out.println("Resultado: " + expoente(b,e));
System.out.println();
break;
case 3:
System.out.println("Digite um valor para a:" );
double a = scn.nextDouble();
System.out.println("Digite um valor para b:" );
double b1 = scn.nextDouble();
System.out.println("Digite um valor para c:" );
double c = scn.nextDouble();
System.out.println("Resultado: " +equacao(a,b1,c));
break;
case 4:
System.out.println("Digite um valor para a base:" );
double base = scn.nextDouble();
System.out.println("Digite um valor para a altura:");
double altura = scn.nextDouble();
System.out.println("Resultado: " +retangulo(base,altura));
System.out.println();
break;
case 5:
System.out.println("Digite um valor:" );
double f = scn.nextDouble();
System.out.println();
System.out.println("Resultado: " +fatorial(f));
System.out.println();
break;
case 8:
System.out.println("Espero que tenha ajudado. ");
fim++;
break;
default:
System.out.println("Digite uma opcao valida :) " );
System.out.println();
}
}
}
//metodo pra raiz
public static double raiz(double a){
double r = Math.sqrt(a);
return r;
}
//metodo pra exponenciacao
public static double expoente(double b1, double e1){
//pra calcular o expoente
double r2 = 1;
for(int x = 0; x < e1; x++){
r2 = r2 * b1;
}
return r2;
}
//metodo para o retangulo
public static double retangulo(double base2, double altura2){
double area = 0;
area = base2 * altura2;
return area;
}
//metodo para fatorial
public static double fatorial(double f1){
double fat = 1;
for(int x = 0; x < f1; x++){
fat = fat * (f1 - x);
}
return fat;
}
[b]//metodo para as raizes
public static double equacao(double a1, double b2, double c2){
double delta = (b2 * b2) - (4 * a1 * c2);
if(delta == 0){
double x = (- b2 + Math.sqrt(delta)) / (2 * a1);
}
else if(delta > 0){
double x = (- b2 + Math.sqrt(delta)) / (2 * a1);
double x2 = (- b2 - Math.sqrt(delta)) / (2 * a1);
}
else{
System.out.println("Não existe raiz real." );
}
return x;
}[/b]
}
Quando eu compilo da erro no meu return, o que posso fazer pra arrumar esses erros? Obrigado.

