What is wrong in this code?

package PATTERNS;

import java.util.Scanner;

public class QuadraticEquation {

public static void main(String[] args)
{

	System.out.println("Quadratic Equations");
	
	Scanner scan = new Scanner(System.in);
	
	int  a= scan.nextInt();
	int  b = scan.nextInt();
	int  c = scan.nextInt();
	
	double  root1 ;
	root1 =-b+Math.sqrt((b*b)-4*a*c)/2*a;
	int finalroot1=(int)root1;
	
	double root2;
	root2=-b-Math.sqrt((b*b)-4*a*c)/2*a;
	int finalroot2=(int)root2;
	
	if(finalroot1>0 &&  finalroot2 >0)
	{
		System.out.println("Real and Distinct");
		if(finalroot1> finalroot2)
		{
			System.out.println(finalroot1);
			System.out.println( finalroot2);
		}
		
	}
	else if(finalroot1==0 ||  finalroot2==0)
	{
		System.out.println("Real and Equal");
		System.out.println(finalroot1);
		System.out.println(finalroot1);
	
		
	}
	else if(finalroot1<0 && finalroot1<0)
	{
		System.out.println("Imaginary");
	}
	
	
	
	
}

}

Hey @Nitya_Somani
You doing wrong :
I would suggest you, please check the property of quadratic equation,
if root is -ve , this is also real root,
if discriminant of quadratic equation is -ve then Imaginary root,
if discriminant of quadratic equation is 0 then Real and equal root,
discriminant of quadratic equation is +ve then Real and Distinct

correct code :

1 Like