Witam,
Nazywam się Bartek i od wczoraj staram się poszerzać horyzonty jeżeli chodzi o Java. Wcześniej jedynie coś czytałem i układałem informację w głowie. Tak to jest mój pierwszy język w jakim chce pracować. Za pewne z każdym projektem wyjdą jakieś błędy i nie ścisłości z którymi mój mózg sobie nie poradzi, dlatego ten temat będzie taką zbiorówką moich błędów i głupot ;)
Wypadałoby od czegoś zacząć. Otóż mam taki problem, że napisałem program który liczy miejsca zerowe równania kwadratowego. Program sprawdza czy delta jest ujemna i z równania wylicza te miejsca (dwa jeżeli delta>0 / jedno jeżeli delta==0 oraz nadaje tylko komunikat gdy delta<0). Cały problem polega na tym, że gdy delta jest większa bądź równa 0 i poda miejsca bądź miejsce zerowe, program i tak dorzuca komunikat, który zwiastuję deltę ujemną. Gdzie popełniłem błąd?
import java.util.Scanner;
public class RownanieKwadratowe
{
public static void main(String[] args)
{
System.out.println("Parametry równania kwadratowego ax2+bx+c");
Scanner skaner = new Scanner(System.in);
double a = skaner.nextDouble();
double b = skaner.nextDouble();
double c = skaner.nextDouble();
double delta = b*b-4*a*c;
if(delta>0)
{
delta = Math.sqrt(delta);
double x1 = (-b - delta)/(2*a);
double x2 = (-b + delta)/(2*a);
System.out.println("Parametry równania kwadratowego to " + x1 + " oraz " + x2);
}
else if (delta==0)
{
double x0 = -b/(2*a);
System.out.println("Równanie posiada tylko jeden parametr" + x0);
}
if(delta<0);
{
System.out.println("Delta jest ujemna więc równanie nie ma rozwiązań");
}
}
}
Dziękuję za pomoc!