雖然在 Java 中計算平方根並不是軟件開發麵試的常見問題,但有時面試可能會問您類似這樣的問題:“ 你有一個整數 x。創建一個 Java 程序來計算它的平方根”。 為了確保這樣一個基本問題不會讓您措手不及,讓我們來看看如何在 Java 中求平方根。

平方和平方根:複習數學概念

為了確保您在處理平方和根時沒有混淆,讓我們回顧一下這個概念的理論。一個數的平方就是這個數乘以它自己。如果 n = 4,則 n^2 = 4 4 = 16。一個數的平方根是將其與自身相乘得到給定值 X 的數。例如,您必須找到 n = 的平方根16、通過找到一個數,如果提升到2的次方給出16,你就會解決這個問題。對於 n,數字 16 的平方根是 4(因為 4 * 4 = 16)。

如何使用 java.lang.Math.sqrt() 在 Java 中求平方根

在 Java 中查找數字平方根的最常見方法是應用java.lang.Math.sqrt()方法。下面是 java.lang.Math.sqrt() 方法的一般語法:

public static double sqrt(double a)
在該方法中,a 是一個提升到您想要求平方根的 2 次方的值。一旦開發人員申請java.lang.Math.sqrt(),該方法將返回 a 的正平方根(如果 a 大於 0)。對於負參數,java.lang.Math.sqrt返回 NaN 輸出。

java.lang.Math.sqrt() 返回的特例

如上所述,在大多數情況下,該方法返回正值。但是,開發人員在創建尋根程序時應該注意一些特定情況。
  • 對於具有 NaN 值或負數的參數,該方法將返回 NaN 結果。
  • 對於無限正的參數,該方法將返回無限正的結果。
  • 對於由正零或負零組成的參數,a 的平方根將等於 a。

使用 java.lang.Math.sqrt() 的示例


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練習題求平方根

現在您已經知道如何在 Java 中創建一個計算平方根的程序,讓我們來看看這個概念如何適用於更高級的實踐問題。例如,面試官可能會要求您求解二次方程。讓我們來看看如何處理這樣的問題。 問題:求解一個二次方程,其中 a = 1,b = 5,c = 2。 解決方案:

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.");
            }

    }
}

結論

這是關於在 Java 中求一個數的平方根的簡要概述。對於軟件開發初學者來說,練習不同的場景(a>0、a<0、a = 0)以牢牢掌握概念是個不錯的主意。一旦了解了 java.lang.Math.sqrt 方法的來龍去脈,就可以開始在復雜的程序中應用該方法,處理諸如求解二次方程式之類的任務。