CodeGym /Java Blogu /Rastgele /Math.sqrt Yöntemi - Java'da Karekök
John Squirrels
Seviye
San Francisco

Math.sqrt Yöntemi - Java'da Karekök

grupta yayınlandı
Java'da bir karekök hesaplamak, yazılım geliştirme görüşmeleri için çok yaygın bir soru olmasa da, bazen bir görüşme size şöyle bir şey sorabilir: “Elinizde bir x tamsayısı var. Karekökünü hesaplayacak bir Java programı oluşturun”. Böyle basit bir sorunun sizi hazırlıksız yakalamadığından emin olmak için, Java'da karekökün nasıl yapılacağına bir göz atalım.

Kare ve Karekök: Matematik Kavramlarını Gözden Geçirme

Kareler ve köklerle uğraşırken kafanızın karışmadığından emin olmak için, bu kavramın teorisini gözden geçirelim. Bir sayının karesi, o sayının kendisi ile çarpımıdır. n = 4 ise, o zaman n^2 = 4 4 = 16. Bir sayının karekökü, kendisiyle çarpıldığında belirli bir X değerini veren sayıdır. Örneğin, n ='nin karekökünü bulmanız gerekir. 16, ikinin kuvvetine yükseltildiğinde 16 veren bir sayı bularak sorunu çözeceksiniz. n durumunda, 16 sayısının karekökü 4'tür (çünkü 4 * 4 = 16).

Java.lang.Math.sqrt() Kullanarak Java'da Karekök Nasıl Yapılır

Java'da bir sayının karekökünü bulmanın en yaygın yolu, yöntemi uygulamaktır java.lang.Math.sqrt(). Java.lang.Math.sqrt() yönteminin genel söz dizimi şöyledir:

public static double sqrt(double a)
Yöntemde a, karekök almak istediğiniz ikinin gücüne yükseltilmiş bir değerdir. Bir geliştirici uyguladığında java.lang.Math.sqrt(), yöntem a'nın pozitif karekökünü döndürür (a 0'dan büyükse). Negatif bağımsız değişkenler için, java.lang.Math.sqrtbir NaN çıktısı döndürür.

java.lang.Math.sqrt() döndürmelerinin özel durumları

Yukarıda bahsedildiği gibi, çoğu durumda yöntem pozitif değerler döndürür. Ancak, bir geliştiricinin bir kök bulma programı oluştururken bilmesi gereken birkaç özel durum vardır.
  • NaN değerleri olan veya negatif olan bağımsız değişkenler için, yöntem bir NaN sonucu döndürür.
  • Sonsuz pozitif bağımsız değişkenler için, yöntem sonsuz pozitif sonuç döndürür.
  • Pozitif veya negatif sıfırdan oluşan bağımsız değişkenler için, a'nın karekökü a'ya eşit olacaktır.

Java.lang.Math.sqrt() kullanımına örnek


package MyPackage;
 
public class SquareRoot2 {
 
    public static void main(String args[])
    {
        double a = 100;
   
        System.out.println(Math.sqrt(a));
        // For positive values, the output is the square root of x 
   
        double b = -81.00;
   
        System.out.println(Math.sqrt(b));
        // For negative values as input, Output NaN 
   
        double c = 0.0/0;
        // Input NaN, Output NaN 
   
        System.out.println(Math.sqrt(c));
   
        double d = 1.0/0; 
        // For inputs containing  positive infinity, Output positive infinity  
   
        System.out.println(Math.sqrt(d));
         
        double e = 0.0;
        // Input positive Zero, Output positive zero 
         
        System.out.println(Math.sqrt(e));
    }
         
}

Java Alıştırma Probleminde Karekök Bulma

Artık Java'da karekök hesaplayan bir programın nasıl oluşturulacağını bildiğinize göre, kavramın daha ileri düzey uygulama problemlerine nasıl uyduğuna bir göz atalım. Örneğin, bir görüşmeci sizden ikinci dereceden bir denklemi çözmenizi isteyebilir. Böyle bir problemle nasıl başa çıkılacağına bir göz atalım. Problem: a = 1, b = 5, c = 2 olan ikinci dereceden bir denklemi çözün. Çözüm:

import java.util.Scanner;
public class Exercise2 {

    
  public static void main(String[] Strings) {

        Scanner input = new Scanner(System.in);

            System.out.print("Input a: ");
            double a = input.nextDouble();
            System.out.print("Input b: ");
            double b = input.nextDouble();
            System.out.print("Input c: ");
            double c = input.nextDouble();

            double result = b * b - 4.0 * a * c;

            if (result > 0.0) {
                double r1 = (-b + Math.pow(result, 0.5)) / (2.0 * a);
                double r2 = (-b - Math.pow(result, 0.5)) / (2.0 * a);
                System.out.println("The roots are " + r1 + " and " + r2);
            } else if (result == 0.0) {
                double r1 = -b / (2.0 * a);
                System.out.println("The square root is " + r1);
            } else {
                System.out.println("There are no real square roots in the equation.");
            }

    }
}

Çözüm

Bu, Java'da bir sayının karekökünü bulma konusunda kısa bir özetti. Yazılım geliştirmeye yeni başlayan biri için, kavramı sağlam bir şekilde kavramak için farklı senaryolar (a>0, a<0, a = 0) uygulamak iyi bir fikirdir. Java.lang.Math.sqrt yönteminin tüm ayrıntılarını anladıktan sonra, ikinci dereceden denklemleri çözmek gibi görevleri yerine getirerek karmaşık programlarda yöntemi uygulamaya başlayın.
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION