一元二次方程求根Java源程序代码_第1页
一元二次方程求根Java源程序代码_第2页
一元二次方程求根Java源程序代码_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/求解一元二次方程ax2+bx+c=0的实根和复根,Test类是主类class OnceBasicQuadraticEquation /求解一元二次方程ax2+bx+c的实根和复根的类,其中getRoot()方法求根和显示根private double a; /方程的二次项系数private double b; /方程的一次项系数private static double c; /方程的常数项/以上三个成员变量分别是方程的系数OnceBasicQuadraticEquation() /无参构造方法a = 0;b = 0;c = 0;OnceBasicQuadraticEquation(doub

2、le a,double b,double c) /有参构造方法this.a = a;this.b = b;this.c = c;public void setA(double a)this.a = a;public double getA()return a;public void setB(double b)this.b = b;public double getB()return b;public void setC(double c)this.c = c;public double getC()return c;/以上六个方法分别对应三个系数的置取方法public double getD

3、lt() /计算判别式=b2-4ac的值double result = Math.pow(b,2) - 4 * a * c;return result;private double getRightRoot() /求解右侧较大实根的方法double rightRoot = 0;rightRoot = (-b + Math.sqrt(getDlt() / (2 * a);return rightRoot;private double getLeftRoot() /求解左侧较小实根的方法double leftRoot = 0;leftRoot = (- b - Math.sqrt(getDlt()

4、 / (2 * a);return leftRoot;public void getRoot() /求解并显示实根或复根的方法if(a=0)if(b=0)if(c=0)System.out.println(一元二次方程: + getA() + x2+ /a、b、c全为零时,定义方程有无穷多解。 + getB() + x+ + getC() + t有无穷多解。);else/二次项和一次项系数为零,但常数项不为零,方程变为不等式,无解。System.out.println(一元二次方程: + getA() + x2+ + getB() + x+ + getC() + t无解。);else/二次项系

5、数为零,一次项系数不为零,方程是一次方程,有唯一解。double result = 0;result = -getC() / getB();System.out.println(一元二次方程: + getA() + x2+ + getB() + x+ + getC() + t有唯一解: + result);else /二次项系数不为零,方程有两个实根或复根。if(getDlt()=0) /判别式=b2-4ac=0,方程有两个相等实根。double result = 0;result = -getB() / (2 * getA();System.out.println(一元二次方程: + get

6、A() + x2+ + getB() + x+ + getC() + t有唯一解: + result);else if(getDlt()0) /判别式=b2-4ac0,方程有两个相异实根。System.out.println(一元二次方程: + getA() + x2+ + getB() + x+ + getC() + t有两个实根: + getLeftRoot() + 和 + getRightRoot();else /判别式=b2-4ac0,方程有两个复根。/double imaginaryNumber1 = 0;double imaginaryNumber = 0;double realNumber = 0;imaginaryNumber = Math.sqrt(-getDlt() / (2 * a);realNumber = -getB() / (2 * a);System.out.println(一元二次方程: + getA() + x2+ + getB() + x+ + getC() + t有两个复根: + realNumber + + imaginaryNumber + i);public class Testpublic static

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论