一元二次方程ax2+bx+c=0,输入a,b,c三个系数,求解方程,结果有三种情况:两个实数根、一个实数根、两个复数根。

/**

* Equation.java

*/

package cn.edu.uibe.oop;

/**

* 计算一元二次方程的根

* @author TongQiang

*

*/

public class Equation {

double a,b,c; //方程的系数

double x1,x2; //两个根

double r; //实部

double v; //虚部

int type; //0表示一个根,1表示两个实根,2表示两个复数的根

public Equation(double a,double b,double c){

this.a = a;

this.b = b;

this.c = c;

}

private double delta(){

return b*b-4*a*c;

}

public void calculate(){

double d = delta();

if(Math.abs(d) < 1E-5){

type = 0;

x1 = -b/(2*a);

x2 = x1;

}else if(d > 0){

type = 1;

x1 = (-b+Math.sqrt(d))/(2*a);

x2 = (-b-Math.sqrt(d))/(2*a);

}else{

type = 2;

r = -b/(2*a);

v = Math.sqrt(-d)/(2*a);

}

}

public void showResult(){

switch(type){

case 0:

System.out.println("方程只有一个实根,x1=x2="+x1);

break;

case 1:

System.out.println("方程有两个实根,分别是:x1="+x1+"\tx2="+x2);

break;

case 2:

System.out.println("方程有两个复数根,分别是:"+r+"+"+v+"i,\t"+r+"-"+v+"i");

break;

}

}

public static void main(String[] args) {

Equation eq1 = new Equation(1,2,2);

eq1.calculate();

eq1.showResult();

Equation eq2 = new Equation(1,-2,1);

eq2.calculate();

eq2.showResult();

Equation eq3 = new Equation(1,6,5);

eq3.calculate();

eq3.showResult();

}

}

分享到:

2009-09-25 23:46

浏览 2308

评论

java 一元二次方程_Java类求解一元二次方程的根相关推荐

  1. python自定义类求解一元二次方程_Python实现求解一元二次方程的方法示例

    本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac的大小 具体计算代码如下: # -*- co ...

  2. java 四元一次方程_JAVA编写求解一元多次方程的程序,要求如下:

    展开全部 import java.io.*; import java.util.*;public class SolveEquation { void print()throws IOExceptio ...

  3. java 静态方法重写_Java 类中可以覆盖静态方法吗?

    Java技术栈 www.javastack.cn 打开网站看更多优质文章 Java 类中可以覆盖静态方法吗? 不,你不能在Java中覆盖静态方法,但在子类中声明一个完全相同的方法不是编译时错误,这称为 ...

  4. java 对象 方法_java——类、对象、方法

    一.类 1.Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类. 一个java文件可以有多个类,但是每一个类都会生成一个class字节码文件. 如果class 前加public ...

  5. java手机音乐_JAVA类(手机充电、放音乐示例)

    练习练习 import java.util.Scanner;//包含包 public class ex1 { public static void main(String args[])//程序入口 ...

  6. java初始化实例化_Java 类初始化和实例化以及多态理解

    前言 本篇主要讲解了类的初始化.实例化.静态代码块.构造器.getClass().super.this 等相关的知识点,做一个总结. demo 老规矩,看代码: Father.java public ...

  7. java初始化实例化_java类的初始化和实例化区别

    结论: 参考https://blog.csdn.net/qq_43672627/article/details/86616624 类的初始化:是完成程序执行前的准备工作.在这个阶段,静态的(变量,方法 ...

  8. java 保护类型_Java 类的受保护访问(学习 Java 编程语言 046)

    最好将类中的字段标记为 private,而方法标记为 public.任何声明为 private 的内容对其他类都是不可见的.这对子类来说也完全适用,即子类也不能访问超类的私有字段. Java 中的受保 ...

  9. java 构造函数和_Java类和构造函数

    我希望这听起来不像是一个愚蠢的问题. 我有一个A类和一个B类.现在唯一的B就是一个String ID. 现在我可以有多个对象A,每个对象可以有0个或更多B类型的对象. 它们包含在每个类A具有的Hash ...

  10. java 匿名 异常_JAVA类(内部类、匿名内部类、异常、自定义异常)

    内部类 package AA;public class类 {int de=123; StringBuffer dee=newStringBuffer();public class成员内部类{publi ...

最新文章

  1. LeetCode简单题之两句话中的不常见单词
  2. TCP/UDP协议基本概念
  3. Unsafe(转载)
  4. XML中的CDATA是什么
  5. 【C语言深入】[002] valotile 关键字:
  6. C# 序列化理解 1(转)
  7. 大话重构连载9:大布局你伤不起
  8. how tomcat works 读书笔记(一)----------一个简单的webserver
  9. 早教机器人刷固件_父母不要再盲目去买智能儿童早教机器人,知道这几点事半功倍!...
  10. 知识竞赛抢答器PLC设计
  11. 一本正经的聊一聊面试官的心理
  12. 扫码枪收银有手续费吗_生意好时最怕收银出故障,这几个扫码枪的常见问题你一定要知道...
  13. linux/unix交互shell使用scanf函数获取键盘输入时按Backspace键总是出现^H^H^H^的解决方法
  14. java tetris_Java | Tetris
  15. Android中WebP图片文件
  16. Your Freedom — 跨平台的代理软件
  17. 连续四年携手,2021华为手机杯围甲雨中开幕
  18. 带领初学者学习 SQL 数据库编程视频教程(11 个视频)
  19. 1G到5G的技术标准,你都了解有哪些呢?
  20. mongodb连接报错:connect@src/mongo/shell/mongo.js:374:17

热门文章

  1. 修改微信聊天记录保存位置
  2. 服务器主板电源适配器维修,自己修理笔记本电脑电源适配器
  3. retrofit简单的网络请求
  4. 正常图片转灰色图片——灰度图
  5. buuctf web wp
  6. 数据库SQL语句学习
  7. 苹果手机各种尺寸详细表以及iPhoneX、iPhoneXS、iPhoneXR、iPhoneXSMax、iPhone 11、iPhone 11 Pro、iPhone 11 Pro Max、屏幕适配
  8. 杨义先:大数据的道性
  9. 10个切片动作过渡PR预设
  10. 《第一堂棒球课》:王牌左外野·棒球7号位