Witam wszystkich serdecznie!
Wiem, że tematy o programie pierwiastków równania kwadratowego istnieją ale chodzi mi o coś innego. Ten program nie jest idealny (nie ma np. warunku że gdy A jest 0 to nie jest kwadratowe) ale chodzi mi o obliczenie pierwiastków. Przy różnych wartościach program dobrze oblicza. Natomiast przy wartościach A=3, B=2, C=-5 program źle oblicza. X1 wynosi wtedy 1, a x2 =-1,67. Natomiast program podaje 9 i -15 :/. Przy innych wartościach obliczenia są poprawne.
package pl.eduweb;
import java.util.Scanner;
import static java.lang.Math.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("To jest program do obliczania pierwiastków równiania kwadratowego Ax^2+Bx+C=0");
System.out.println("Podaj wartość A:");
int A = scanner.nextInt();
System.out.println("Podaj wartość B:");
int B = scanner.nextInt();
System.out.println("Podaj wartość C:");
int C = scanner.nextInt();
double delta = B*B-4*A*C;
System.out.println ("Obliczona wartość delty wynosi "+delta);
if (delta<0){
System.out.println("Równanie nie ma rozwiązania");
}
else if (delta==0){
int x;
x=-B/(2*A);
System.out.println("Równanie ma jedno rozwiązanie. Wynosi " + x);
}
else if (delta>0){
double x1, x2;
x1=(-B+sqrt(delta))/2*A;
x2=(-B-sqrt(delta))/2*A;
System.out.println("Równanie ma dwa rozwiązania. Są to x1= "+x1+" oraz x2= "+x2);
}
}
}