Önceki soruda ikinci derece bir denklemin kökleri olup olmadığını görmek için diskriminant değerini bulmuştuk. Şimdi disktiminant değerini de bildiğimize göre aşağıdaki gibi bir ikinci derece denklemin köklerini de varsa hesaplayan bir Java programı yazalım.
Denklem: ax2 + bx + c = 0
Delta (Diskriminant): b2 - 4ac
Deltayı da açarak formülün içerisine ekleyecek olursak:
Başlamadan ne bilmemiz gerekiyor?
Bu örneği kodlarken kare kök alma işlemi yapacağız. Kare kök almak ile ilgili Java'da kare kök hesaplamak yazıma bakabilirsiniz. Bir diğer sıkça sorulan soru ise Java'da kare ifadesinin nasıl yazılabileceğidir. Kareleri yukarı yazmak konsol uygulamalarında maalesef mümkün değil. Bu yüden kareyi temsilen ^ işareti kullanılır.
Geçelim kodlamaya:
Scanner girdi=new Scanner(System.in);
System.out.println("ax^2+bx+c denkleminin olası çözümlerini hesaplayacağız");
System.out.println("Lütfen denklemdeki a değerini yazın");
int a = girdi.nextInt();
System.out.println("Lütfen denklemdeki b değerini yazın");
int b = girdi.nextInt();
System.out.println("Lütfen denklemdeki c değerini yazın");
int c = girdi.nextInt();
double delta=Math.pow(b, 2) - 4*a*c;
if (delta > 0)
{
double kok1 = (-b - Math.sqrt(delta))/(2*a);
double kok2 = (-b + Math.sqrt(delta))/(2*a);
System.out.println("Denklemin birinci kökü: "+kok1);
System.out.println("Denklemin ikinci kökü: "+kok2);
}
if (delta == 0)
{
double kok = (-b + Math.sqrt(delta))/(2*a);
System.out.println("Denklemin tek kökü: "+kok);
}
if (delta < 0)
System.out.println("Denklemin kökü yoktur");
Çıktı:
ax2+bx+c denkleminin olası çözümlerini hesaplayacağız
Lütfen denklemdeki a değerini yazın
> 2
Lütfen denklemdeki b değerini yazın
> 3
Lütfen denklemdeki c değerini yazın
> 1
Denklemin birinci kökü: -1.0
Denklemin ikinci kökü: -0.5