最も人気のある頻繁に聞かれるJavaインタビューの質問の1つです。 “Given an integer x, write a java program to find the square root of it “です。 この問題を解決する方法はたくさんあります。
- 二乗と平方根とは
2. Javaで数を二乗する方法
- 数を自分で掛け算する
- Math.pow関数を使用する
3. Javaで数値の平方根を求める方法
- java.lang.Math.sqrt()メソッドを使用する
- Math.pow()関数を使用する
- 内蔵関数を使用しない
Javaでの平方根のコードについて説明する前に、まず平方根という言葉を理解しましょう。 言い換えれば、整数に自分自身を乗じるとき、その積をその数値の2乗と呼びます。 数学的には、数の平方は次のように与えられます。 数nの平方根とは、それ自体を掛けたときにnを与える数のことです。 数学的には、数の平方根は次のように与えられます。
Square Root of n = √ n
数の平方と平方根の意味がわかったところで、Javaでそれらを計算するさまざまな方法を見てみましょう。
Javaで数値を平方するには、次の2つの方法があります。
- 数値を自分で乗算する
- Math.pow関数を呼び出す
方法1:数値を自分で乗算して平方する
以下は、数値を自分で乗算して平方するJavaプログラムです。
package MyPackage;
import java.util.Scanner;
public class Square1 {
public static void main(String args) {
Double num;
Scanner sc= new Scanner(System.in);
System.out.print("Enter a number: ");
num=sc.nextDouble();
Double square = num*num;
System.out.println("Square of "+ num + " is: "+ square);
}
}
出力
Enter a number: 10 Square of 10.0 is: 100.0
方法2:Math.powメソッドで数字を二乗する
以下は、Math.powメソッドを呼び出して数字を二乗するJavaプログラムです。
package MyPackage;
import java.util.Scanner;
import java.lang.Math;
public class Square2 {
public static void main(String args) {
Double num;
Scanner sc= new Scanner(System.in);
System.out.print("Enter a number: ");
num = sc.nextDouble();
Double square = Math.pow(num, 2);
System.out.println("Square of "+ num + " is: "+ square);
}
}
出力
Enter a number: 22
Square of 22.0 is: 484.0
では、Javaで数の平方根を計算する方法を見てみましょう。
How to Find Square Root of a Number in Java
Javaで与えられた数の平方根を求める方法は複数あります。
方法1: java.lang.Math.sqrt()メソッドを使用して数の平方根を求めるJavaプログラム
Javaで与えられた数の平方根を求める方法は複数ありますが、そのうちのいくつかを紹介します。sqrt()メソッド
Syntax
public static double sqrt(double x)
- Parameter: xは平方根が返される値です
2.戻り値。 このメソッドは、渡された引数の平方根の値を返します。
- パラメータ x が正の double 値の場合、このメソッドは x の平方根を返します
- x が NaN または 0 より小さい場合、このメソッドは NaN を返します
- パラメータ x が正の無限大の場合、このメソッドは正の無限大を返します。
- xが正または負のゼロの場合、このメソッドは結果を同じ符号のゼロとして返します
コード
package MyPackage;
public class SquareRoot2
{
public static void main(String args)
{
double a = 100;
System.out.println(Math.sqrt(a));
// Input positive value, Output square root of x
double b = -81.00;
System.out.println(Math.sqrt(b));
// Input negative value, Output NaN
double c = 0.0/0;
// Input NaN, Output NaN
System.out.println(Math.sqrt(c));
double d = 1.0/0;
// Input 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));
}
}
出力
10.0
NaN
NaN
Infinity
0.0
Method 2: java.lang.Math.pow()メソッドを使って、数値の平方根を求めるJavaプログラム。lang.Math.pow()メソッドを使って数の平方根を求めるJavaプログラム
√number = number½というロジックを使って数の平方根を求めることができます。
コード
package MyPackage;
import java.util.Scanner;
public class SquareRoot1 {
public static void main(String args)
{
Double num;
Scanner sc= new Scanner(System.in);
System.out.print("Enter a number: ");
num = sc.nextDouble();
Double squareroot = Math.pow(num, 0.5);
System.out.println("The Square of a Given Number " + num + " = " + squareroot);
}
}
出力
Enter a number: 81
The Square of a Given Number 81.0 = 9.0
方法3:内蔵のメソッドを使わずに数の平方根を求めるJavaプログラム
使用しているロジックは以下のとおりです。
最初のsqrt数は、入力された数値÷2になるはずです。 上記のロジックを実装したJavaプログラムを紹介します。
コード
package MyPackage;
public class SquareRoot
{
public static double square(double number){
double t;
double squareroot = number / 2;
do
{
t = squareroot;
squareroot = (t + (number / t)) / 2;
}
while ((t - squareroot) != 0);
return squareroot;
}
public static void main(String args)
{
double number = 16;
double root;
root = square(number);
System.out.println("Number : "+number);
System.out.println("Square Root : "+root);
}
}
出力
Number : 121.0
Square Root : 11.0
これでこの記事は終わりです。
できるだけ多くの練習をして、経験を元に戻してください。
人工知能、DevOps、Ethical Hackingなど、市場で最も注目されている技術に関する記事をもっとチェックしたい方は、Edurekaの公式サイトを参照してみてください。 オブジェクト指向プログラミング
2.Javaチュートリアル
3.Javaのポリモーフィズム
4.Javaの抽象化
5. Java String
6. Java Array
7. Java Collections
8. Java Threads
9. Javaサーブレット入門
10. サーブレットとJSPのチュートリアル
11. Javaでの例外処理
12. Java上級者向けチュートリアル
13. Javaのインタビュー質問
14. Javaプログラム
15. Kotlin vs Java
16. Dependency Injection Using Spring Boot
17. Comparable in Java
18. Javaフレームワークのトップ10
19. JavaのReflection API
20. Top 30 Patterns in Java
21. Core Java Cheat Sheet
22. Socket Programming In Java
23. Java OOPチートシート
24. Javaでアノテーション
25. Javaで図書館管理システムプロジェクト
26. Javaでツリー
27. Javaで機械学習
28. Top Data Structures & Algorithms in Java
29. Java開発者のスキル
30. Top 55 Servlet Interview Questions
31. トップJavaプロジェクト
32. Java Strings Cheat Sheet
33. Javaのネストされたクラス
34. Java Collections Interview Questions and Answers
35. Javaでデッドロックを処理する方法
36. Top 50 Java Collections Interview Questions You Need to Know
37. Javaでの文字列プールの概念とは
38. C、C++、Javaの違いは何ですか?
39. JavaでのPalindrome-数値や文字列をチェックする方法は?
40. Top MVC Interview Questions and Answers You Need to Know
41. Top 10 Applications of Java Programming Language
42. Javaでのデッドロック
43. Javaでの二乗と平方根
44. Javaでの型付け
45. Javaでの演算子とその型
46. Javaでのデストラクタ
47. Javaでのバイナリ検索
48. JavaでのMVCアーキテクチャ
49. Hibernate Interview Questions and Answers