// 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文を利用するとよい。

********************/