雖然在 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 方法的來龍去脈,就可以開始在復雜的程序中應用該方法,處理諸如求解二次方程式之類的任務。
更多閱讀: |
---|
GO TO FULL VERSION