java 一元二次方程_Java类求解一元二次方程的根
一元二次方程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类求解一元二次方程的根相关推荐
- python自定义类求解一元二次方程_Python实现求解一元二次方程的方法示例
本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac的大小 具体计算代码如下: # -*- co ...
- java 四元一次方程_JAVA编写求解一元多次方程的程序,要求如下:
展开全部 import java.io.*; import java.util.*;public class SolveEquation { void print()throws IOExceptio ...
- java 静态方法重写_Java 类中可以覆盖静态方法吗?
Java技术栈 www.javastack.cn 打开网站看更多优质文章 Java 类中可以覆盖静态方法吗? 不,你不能在Java中覆盖静态方法,但在子类中声明一个完全相同的方法不是编译时错误,这称为 ...
- java 对象 方法_java——类、对象、方法
一.类 1.Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类. 一个java文件可以有多个类,但是每一个类都会生成一个class字节码文件. 如果class 前加public ...
- java手机音乐_JAVA类(手机充电、放音乐示例)
练习练习 import java.util.Scanner;//包含包 public class ex1 { public static void main(String args[])//程序入口 ...
- java初始化实例化_Java 类初始化和实例化以及多态理解
前言 本篇主要讲解了类的初始化.实例化.静态代码块.构造器.getClass().super.this 等相关的知识点,做一个总结. demo 老规矩,看代码: Father.java public ...
- java初始化实例化_java类的初始化和实例化区别
结论: 参考https://blog.csdn.net/qq_43672627/article/details/86616624 类的初始化:是完成程序执行前的准备工作.在这个阶段,静态的(变量,方法 ...
- java 保护类型_Java 类的受保护访问(学习 Java 编程语言 046)
最好将类中的字段标记为 private,而方法标记为 public.任何声明为 private 的内容对其他类都是不可见的.这对子类来说也完全适用,即子类也不能访问超类的私有字段. Java 中的受保 ...
- java 构造函数和_Java类和构造函数
我希望这听起来不像是一个愚蠢的问题. 我有一个A类和一个B类.现在唯一的B就是一个String ID. 现在我可以有多个对象A,每个对象可以有0个或更多B类型的对象. 它们包含在每个类A具有的Hash ...
- java 匿名 异常_JAVA类(内部类、匿名内部类、异常、自定义异常)
内部类 package AA;public class类 {int de=123; StringBuffer dee=newStringBuffer();public class成员内部类{publi ...
最新文章
- LeetCode简单题之两句话中的不常见单词
- TCP/UDP协议基本概念
- Unsafe(转载)
- XML中的CDATA是什么
- 【C语言深入】[002] valotile 关键字:
- C# 序列化理解 1(转)
- 大话重构连载9:大布局你伤不起
- how tomcat works 读书笔记(一)----------一个简单的webserver
- 早教机器人刷固件_父母不要再盲目去买智能儿童早教机器人,知道这几点事半功倍!...
- 知识竞赛抢答器PLC设计
- 一本正经的聊一聊面试官的心理
- 扫码枪收银有手续费吗_生意好时最怕收银出故障,这几个扫码枪的常见问题你一定要知道...
- linux/unix交互shell使用scanf函数获取键盘输入时按Backspace键总是出现^H^H^H^的解决方法
- java tetris_Java | Tetris
- Android中WebP图片文件
- Your Freedom — 跨平台的代理软件
- 连续四年携手,2021华为手机杯围甲雨中开幕
- 带领初学者学习 SQL 数据库编程视频教程(11 个视频)
- 1G到5G的技术标准,你都了解有哪些呢?
- mongodb连接报错:connect@src/mongo/shell/mongo.js:374:17