My one test case is not running why?

import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner scn = new Scanner(System.in);
int a = scn.nextInt();
int b = scn.nextInt();
int c = scn.nextInt();
double discriminant = (b * b) - (4 * a * c);
// Imaginary
if (discriminant < 0) {
// print nothing
}

	// real and distinct
	else if (discriminant > 0) {
		// find roots
		double root1 = (-b + Math.sqrt(discriminant)) / (2 * a);
		double root2 = (-b - Math.sqrt(discriminant)) / (2 * a);
		// typecasting into integers
		int val1 = (int) root1;
		int val2 = (int) root2;
		if (root1 > root2) {
			System.out.println("Real and Distinct");
			System.out.println(val2 + " " + val1);
		} else {
			System.out.println("Real and Distinct");
			System.out.println(val1 + " " + val2);
		}
	} else if (discriminant==0){
		double root1 = (-b + Math.sqrt(discriminant)) / (2 * a);
		int val3=(int)root1;
		System.out.println("Real and Equal");
		System.out.print(val3+" "+val3);
		}

	}


}

Hey @kalindiyadav5
Code is Fine
just a change
you need to print the nature of the roots (Real and Distinct , Real and Equal or Imaginary) and the roots.
if (discriminant < 0) {
System.out.println(“Imaginary”);
}

correct code :
import java.util.*;

public class Main {
public static void main(String args[]) {
Scanner scn = new Scanner(System.in);
int a = scn.nextInt();
int b = scn.nextInt();
int c = scn.nextInt();
double discriminant = (b * b) - (4 * a * c);
// Imaginary
if (discriminant < 0) {
// mera change
System.out.println(“Imaginary”);
}

	// real and distinct
	else if (discriminant > 0) {
		// find roots
		double root1 = (-b + Math.sqrt(discriminant)) / (2 * a);
		double root2 = (-b - Math.sqrt(discriminant)) / (2 * a);
		// typecasting into integers
		int val1 = (int) root1;
		int val2 = (int) root2;
		if (root1 > root2) {
			System.out.println("Real and Distinct");
			System.out.println(val2 + " " + val1);
		} else {
			System.out.println("Real and Distinct");
			System.out.println(val1 + " " + val2);
		}
	} else if (discriminant == 0) {
		double root1 = (-b + Math.sqrt(discriminant)) / (2 * a);
		int val3 = (int) root1;
		System.out.println("Real and Equal");
		System.out.print(val3 + " " + val3);
	}

}

}

1 Like

okay. Got it . Thank you very much