// QuadraticEqu.java
// 2019.04.23
// 2018.05.11
// by M.Yanaka
// 2次方程式の解を求める(実数解のみ)
public class QuadraticEqu {
public static void main(String[] args) {
double a = 1.0;
double b = 2.0;
double c = -3.0;
double x1, x2; // 実数解用
x1 = (-b+Math.sqrt(b*b-4*a*c))/(2*a);
x2 = (-b-Math.sqrt(b*b-4*a*c))/(2*a);
System.out.println(x1);
System.out.println(x2);
}
}
/********************
2次方程式の解を求める。
ax2 + bx + c = 0
係数a,b,cはプログラム中で与える。
(例) double a = 1.0; [Javaの基本データ型]
double b = 2.0;
double c = -3.0;
解の公式を利用する。
x1 = (-b + sqrt(b*b - 4*a*c))/(2*a);
x2 = (-b - sqrt(b*b - 4*a*c))/(2*a);
クラスMathを利用する。
import java.lang.Math;
(注)javaでは、「import java.lang.*」を暗黙的に実行するので、
このインポート文は書かなくてよい。
ただし、プログラム中でsqrt(2)は、Math.sqrt(2)と記述する必要がある。
スタティック インポート(static import)を利用する。
import static java.lang.Math.sqrt;
または、
import static java.lang.Math.*;
クラスライブラリ Math 内部のクラスフィールドおよびクラスメソッドを
クラス名を書かずに使用できるようになる。
例えば、2の平方根を求めるために、
プログラム中では単に sqrt(2) 等と記述できる。
プログラムの出力表示を工夫する。
例:2次方程式の係数も表示した方が、利用者には親切。
表示方法にも、分かりやすい工夫をする。
System.out.println(“2次方程式 "+a+" x^2 + "+b+" x + "+c+" = 0 の解を求める。");
【発展】複素数の範囲で解を求められるように、プログラムを改良せよ。
(ヒント)if文を利用するとよい。
********************/