Good morning, could someone help me understand why my code is not doing the correct processing and why my conditional deviation is wrong?
public void cap4ex3e(){
double a,b,c,delta,x1,x2;
Scanner in = new Scanner(System.in);
a = in.nextFloat();
b = in.nextFloat();
c = in.nextFloat();
if ((a!=0)&&(b!=0)&&(c!=0)){
delta = Math.sqrt(b)-4*a*c;
if (delta<0) {
System.out.println("Não há solução real");
} else if (delta>0){
x1=(-b+Math.pow(delta,1/2))/(2*a);
x2=(-b-Math.pow(delta,1/2))/(2*a);
System.out.println("Há duas soluções reais: "+x1+"e"+x2);
} else {
x1=(-b+Math.pow(delta,1/2))/(2*a);
x2=(-b-Math.pow(delta,1/2))/(2*a);
System.out.println("Há apenas uma solução real: "+x1+"e"+x2);
}
System.out.println("Não é uma equação do 2º grau");
}
}
When I assign positive values to variables a, b and c it falls into conditional deviation
if (delta<0) {
System.out.println("Não há solução real");
e:
System.out.println("Não é uma equação do 2º grau");
What was not to happen.
I think it's the wrong way out of the condition but I can not see it.