前提・実現したいこと
JavaでgetSolutions(a, b, c) の戻り値は2次方程式 a x2 + b x + c = 0 の実数解を小さい順に配列に格納し、配列の長さは実数解の個数と同じだけとするシステムを作っています。しかし文がおかしいというエラーが出てしまいました。どうすればエラーが治るでしょうか?初心者質問ですみません。
発生している問題・エラーメッセージ
エラーメッセージ
文ではありません
該当のソースコード
Java
1ソースコード 2 public static double[] getSolutions(double a, double b, double c){ 3 double D = b*b-4*a*c; 4 double x1 = (-b + Math.sqrt(D)) / (2*a); 5 double x2 = (-b - Math.sqrt(D)) / (2*a); 6 double[] ans={}; 7 if(D<0){ 8 ans = {x1}; 9 } 10 else if(D==0){ 11 ans = {x1}; 12 } 13 else if(D>0){ 14 if(x1>x2){ 15 ans = {x2,x1} 16 } 17 else{ 18 ans = {x1,x2}; 19 } 20 } 21 return ans; 22 }
補足情報(FW/ツールのバージョンなど)
mainコードが必要であれば載せます。
動作例
getSolutions(-2.0, 8.0, -6.0) の戻り値は -2x2 + 8 x - 6 = 0 の実数解である {1.0, 3,0} となる
getSolutions(0.5, 1.0, 0.5) の戻り値は 0.5 x2 + x + 0.5 = 0 の実数解である {-1.0} となる
getSolutions(1.0, 1.0, 1.0) の戻り値は x2 + x + 1 = 0 の実数解は存在しないので,{} となる
回答1件
あなたの回答
tips
プレビュー