Java求解一元二次方程详解
今天学习了利用java求解一元二次方程。
从面向对象的角度去解决这个问题。
需要两个对象,即类 求根类(EqualRoots) 和 测试类(EqualRootsTest)
类的设计
成员方法
求根方法(EqualRoots,public)
输入:三个参数double a,b,c
输出:数组(是否有根,根1,根2)
逻辑:1. 创建一个长度为3的数组RetArray,并初始化为0
2. 调用getDelta()方法
3. 如果第二步获取的返回值小于0,返回RetArray
4. 如果第二步获取的返回值大于等于0,根据求根公式 求出 x1,x2
5. 将x1,x2放入数组RetArray,对应数组的第一个和第二个元素
判别式方法(getDelta,private)
输入:三个参数double a,b,c
输出:int 取值(1,0)
逻辑:1. 声明一个int标记 flag
2. 计算判别式b*b-4*a*c
3.判断判别式是否小于0,是则返回flag=0
4.返回flag
编码实现
public class EqualRoots {//求解deltaprivate double getDeltaValue(double a, double b, double c) {return b*b - 4*a*c;}//private int getDelta(double a, double b, double c) {int flag = 1;double delta = getDeltaValue(a,b,c);if (delta < 0.001) {flag = 0;return flag;}return flag;}//求解根public double[] EqualRoots(double a, double b, double c) {double[] retArray = {0.0,0.0,0.0};int delta = getDelta(a,b,c);if (delta < 0) {return retArray;}retArray[0] = 1.0;retArray[1] = ((-b + Math.sqrt(getDeltaValue(a,b,c))) / (2*a));retArray[2] = ((-b - Math.sqrt(getDeltaValue(a,b,c))) / (2*a));return retArray;}
}
public class EqualRootsTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入第一个参数a:");double a = sc.nextDouble();System.out.print("请输入第二个参数b:");double b = sc.nextDouble();System.out.print("请输入第三个参数c:");double c = sc.nextDouble();EqualRoots er = new EqualRoots();double[] array = er.EqualRoots(a,b,c);System.out.println(Arrays.toString(array));}
}
Java求解一元二次方程详解相关推荐
- Java求解一元二次方程+单元测试(IDEA+Junit)
介绍 环境配置 使用idea IDE 进行单元测试,首先需要安装JUnit 插件. 1.安装JUnit插件步骤 File–>settings–>Plguins–>Browse rep ...
- c++求解一元二次方程的解
实数解与复数解均可 #include<iostream>using namespace std;void Calculate(double a, double b, double c) { ...
- 求解一元二次方程的解
/*输入a,b,c三个整数,求一元二次方程的解(有没有解,是多少).一元二次方程为ax^2 + bx + c = 0: */ double result1;double result2;Console ...
- python求解一元二次方程的解_python练习题1-一元二次方程解
import math # 一元二次方程: a*x**2 + b*x + c =0的解 def f(a, b, c): if not isinstance(a, (int, float)): rais ...
- c++ 求解一元二次方程 全面考虑实根和虚根的情况
题目 求解一元二次方程. 一元二次方程的定义为: ax2+bx+c=0 (1)如果b2 -4ac>0,方程有两个不同的实根,分别是: (2)如果b2 -4ac< 0,方程没有实根,但有虚根 ...
- java 输入 方程,用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a、b及c从命令行做参数输入 java...
题目: 用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a.b及c从命令行做参数输入 java 答案参考: 以下程序在jdk5.0测试通过 import java.util.Sca ...
- JAVA学习-JAVA实现一元二次方程求解
JAVA实现一元二次方程求解 求3X2+4X-1=0的根 代码: public class SolveEquation {//定义公共类public static void main(String[] ...
- python123求解一元二次方程_侄子今天问我这个一元二次方程怎么解!还好Python会解!...
原标题:侄子今天问我这个一元二次方程怎么解!还好Python会解! 题目: 输入一个一元二次方程的系数 a, b, c,求解方程的根. 分析: 1.一元二次方程标准形式: (a ≠ 0) 其中: 是二 ...
- python解一元二次方程步骤-Python实现求解一元二次方程的方法示例
Python实现求解一元二次方程的方法示例 本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac ...
- matlab解一元二次方程 函数,MATLAB函数文件(Function)和求解一元二次方程 来研究下吧...
MATLAB函数文件是指可以定义输入参数和返回输出变量的M文件.本文介绍通过建立函数文件(Function)来求解一元二次方程的方法. 工具/材料 MATLAB Function 操作方法 01 第一 ...
最新文章
- 只知道GAN你就OUT了——VAE背后的哲学思想及数学原理
- openfire安装配置完全教程
- 解决 TortoiseGit 诡异的 Bad file number 问题(转)
- 计算机d盘无法格式化,电脑D盘无法格式化怎么办 D盘无法格式化问题解决办法...
- java resources 目录_[Java] 在 jar 文件中读取 resources 目录下的文件
- 5元素升级android6,升级你的app以支持高长宽比的新旗舰
- 【java8新特性】——方法引用(四)
- final修饰符,finally,finalize区别
- java核心教程_核心Java教程
- 微信小程序开发--【Hello World 及代码结构】(二)
- mysql悲观锁隔离级别_mysql隔离级别与悲观锁、乐观锁
- C语言 - setjmp与longjmp
- 无线OSS-高精度整数加法
- 2019最新大数据分析智能BI Tableau教程视频(18章节)
- 079冒险岛mysql解封账号_冒险岛079MAX稀有整合2020年度版,亲测一键端10人限制端...
- faile什么意思_failed是什么意思,failed the test是什么意思
- 第015讲: 跟王家林学习从1000个代码案例中学习人工智能和大数据实战第015讲:Scala中Tuple源码剖析及代码实践
- 计算机网络基础之安全防范措施
- LCD6210字符型液晶显示器 (1)
- 北大计算机图灵班,北大首期“图灵班”开班
热门文章
- Error: rendered manifests contain a resource that already exists.
- linux下twm切换gn,如何让vnc控制由默认的twm界面改为gnome?
- SAS PROC FORMAT
- java date计算年龄_Java中使用LocalDate根据日期来计算年龄
- F.conv2d实现代码
- linux内核 v4l2编译,Linux之V4L2基础编程
- in comment after two dashes (--) next character must be > not (position: START_TAG seen ...
- Latex——页眉页脚
- Win11不能玩红警吗?Win11怎么玩红警?
- linux用户的目录结构,Linux下用户管理、目录结构