Javaで平方根を求める際に、java.lang.Mathクラスのsqrt()メソッドを使うのが、一般的です。
今回はsqrt()メソッドを使用せずに、平方根を求める方法を紹介します。
まず、sqrt()メソッドを使用した例を見てみましょう。
1 2 3 4 5 6 7 8 9 10 |
class UsingSqrt{ public static void main(String[] args){ //コマンドラインの第1引数をDoubleクラスのparseDouble()メソッドで //double型に変換 double number = Double.parseDouble(args[0]); //Mathクラスのsqrt()メソッドを呼び出し、戻り値をnumberに代入 double result = Math.sqrt(number); System.out.println(number + "の平方根は " + result + "です。"); } } |
実行結果
それでは、Mathクラスのsqrt()メソッドを使用せずに、どのように求めるかを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
class NotUsingSqrt{ public static void main(String[] args){ //コマンドラインの第1引数をDoubleクラスのparseDouble()メソッドで //double型に変換 double number = Double.parseDouble(args[0]); //変数numberを2で割り、変数squreRootに代入 double squareRoot = number / 2; double g1; do{ //変数squareRootを変数g1を代入 g1=squareRoot; //変数numberを変数g1に割り、変数g1を足して、最後に2で割る squareRoot = (number / g1 + g1)/2; //変数g1から変数squareRootを引いて、 //結果が0ではなければ上記の処理を繰り返す }while((g1-squareRoot)!=0); System.out.println(number + "の平方根は " + squareRoot + "です。"); } } |
実行結果
沢山の方法がございますが、今回はシンプルな方法を紹介しました。
他の方法も模索してみてください。