• ベストアンサー

JAVAの授業で

JAVAの授業で a(x*x)+bx+c=0 ただし、b*b-4ac>0に限定する コンストラクタを定義して、解を求めるsolveメソッドを定義しなさい。 という問題を出されました。 考えてみましたが、全然わかりません。教えてください。 私は、JAVA初心者なので解りやすく教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.3

>2次方程式は解るのですが、プログラムにできません。 2次方程式が解るなら、解が二つあるのは 解りますよね。 コンストラクタをキーワードにして、 >b*b-4ac>0に限定する と書いているので、 解の一つを、求めてみました。 class nijiho{ double a=0,b=0,c=0; public nijiho(double a,double b,double c) { this.a=a; this.b=b; this.c=c; } public double solve(){ return (-b-Math.sqrt(Math.pow(b, 2.0)-4.0*a*c))/(2.0*a); } } public class niji { /** * @param args the command line arguments */ public static void main(String[] args) { System.out.println(new nijiho(1.0, 1.0, -2.0).solve()); // TODO code application logic here } } まだ、解はもう一つあります。 自分で、工夫してください。

murtha
質問者

お礼

ありがとうございました。 あとは、自分で考えてみます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

数値計算習った??? solve一つで、解決とすると、出来ないわけではないのですが。 a,b,cの値が与えられて、xの初期値を与えられて、 そこから求められる、解を求めろと言われると プログラミングが変わります

murtha
質問者

お礼

問題には書かれていませんが、solve=○○ みたいにすると思います。

すると、全ての回答が全文表示されます。
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

質問番号5526430の続きですね。 プログラムを書く前の段階として、失礼ですが、二次方程式の解の公式は分かりますか? また、double型の値の平方根はMath.sqrt()で求められます。

murtha
質問者

お礼

2次方程式は解るのですが、プログラムにできません。 クラスはなんとか解るのですが、コンストラクタとか、オーバーライドとかが全然わかりません。

すると、全ての回答が全文表示されます。

関連するQ&A