Java、解一元二次方程

2023-11-09

可以使用下面的公式求一元二次方程 ax^2 + bx + c = 0 的两个根:

r1 = (-b + √(b^2 - 4ac)) / (2a)

r2 = (-b - √(b^2 - 4ac)) / (2a)

         b^2 - 4ac 称作一元二次方程的判别式。如果它是正值,那么一元二次方程就有两个实数根。如果它为 0,方程式就只有一个根。如果它是负值,方程式无实根。

        编写程序,提示用户输入 a 、b、c 的值,并且显示基于判别式的结果。如果这个判别式为正,显示两个根。如果判别式为 0,显示一个根。否则,显示 “The equation has no real roots”(该方程式无实数根)


package pack2;

import java.util.Scanner;

public class LinearMathematics {

	public static void main(String[] args) {
		try(Scanner input = new Scanner(System.in);) {
			System.out.print("Enter a, b, c: ");
			double a = input.nextDouble();
			double b = input.nextDouble();
			double c = input.nextDouble();
			
			System.out.println(root(a, b, c));
		}
	}
	
	//得到根
	public static String root(double a, double b, double c) {
		double j = Math.pow(b, 2) - 4 * a * c;
		
		if(j > 0) {	//判别式 > 0
			double r1 = (-b + Math.sqrt(j)) / (2 * a);
			double r2 = (-b - Math.sqrt(j)) / (2 * a);
			return "The equation has two roots "+r1+" and "+r2;
		}else if(Math.abs(j) < 0.000001) {	
            //判别式 == 0(浮点数无法确切比较,所以使用此表达式看是否近似0)
			double r1 = (-b + Math.sqrt(j)) / (2 * a);
			return "The equation has one root "+r1;
		}else	//判别式 < 0
			return "The equation has no real roots";
	}
}

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java、解一元二次方程 的相关文章

  • 使用 TreeMap 和 Comparator 按值对 HashMap 进行排序

    我使用以下代码创建哈希图 然后使用树形图和比较器对哈希图中的值进行排序 然而 输出结果却出乎意料 所以任何关于我做错了什么的想法都会有帮助 Code public static void main String args System ou
  • Java如何删除设置了IMMUTABLE位的文件

    正在开发一个 Java 8 项目 我从外部源复制文件 在这些源之一中 文件设置了不可变位标志 In OSX这是这样设置的 sudo chflags schg path to file In Linux chattr i path to fi
  • 在 Java 8 中将对象追加到列表并返回结果?

    有没有一种方法可以将对象附加到列表并以功能性非命令方式在一行中返回结果 如果原始列表也不应该被改变 你会怎么做 Java 8 是允许的 我已经知道如何将两个列表连接到一行中 Source https stackoverflow com a
  • 使用 Nginx 时缺少 HTTP 状态代码名称

    我正在使用 Nginx 将所有 HTTP 请求重定向到 HTTPS 在我的 Spring Boot 应用程序中 这是我正在使用的 nginx 配置 通过它我可以将所有请求重定向到 Https 但是当我这样做时 我得到了状态码返回正确 但没有
  • 为什么byteArray的长度是22而不是20?

    我们尝试从字符串转换为Byte 使用以下 Java 代码 String source 0123456789 byte byteArray source getBytes UTF 16 我们得到一个长度为 22 字节的字节数组 我们不确定这个
  • 使用Java获取CSS文件中图像的URL?

    我正在尝试使用 Java 获取远程 CSS 文件中图像 所有 MIME 类型 的 URL 我正在使用 jsoup 来获取 css 的 URL 经过无数个小时的观看CSS解析器 http cssparser sourceforge net 由
  • Maven 2 未运行 Junit 4 测试

    我在确保运行 Junit4 测试时遇到问题 同样的问题也被报告在https stackoverflow com questions 2021771 sort newest sort top https stackoverflow com q
  • 如何让 HttpClient 返回状态码和响应正文?

    我试图让 Apache HttpClient 触发 HTTP 请求 然后显示 HTTP 响应代码 200 404 500 等 以及 HTTP 响应正文 文本字符串 重要的是要注意我正在使用v4 2 2因为大多数 HttpClient 示例都
  • FXML 文件中的 getHostServices().showDocument()

    有没有简单的方法可以将 getHostServices showDocument 命令放入 toHomepage 方法中 而不是执行一行又一行的代码 这样代码应该看起来干净简单 package sample import javafx ap
  • 如何知道 glassfish 是什么 - 完整平台或网络配置文件?

    我已经安装了glassfish 我可以跑 asadmin version 它显示了它是什么版本 但如何知道它是 完整平台 还是 Web 配置文件 你可以使用 glassfish4 bin gt asadmin list containers
  • 处理 ANTLR 4 中的错误

    遵循后接受的答案 https stackoverflow com a 18137301 2279200的指示处理 ANTLR4 中的错误 https stackoverflow com q 18132078 2279200问题 我遇到了以下
  • Spring Boot 多部分文件始终为 null

    我正在使用 Spring Boot version 1 4 0 RC1 和 Spring Boot Stormpath 1 0 2 我正在尝试使用分段文件上传 但控制器中的 MultipartFile 始终为空 当我使用 RequestPa
  • java:如何设置全局线程ID?

    是否有可能为线程设置唯一ID 在分布式系统中 线程是在许多不同的机器上创建的 例如通过 RMI 我需要它来创建日志消息 根据我的研究 我知道可以使用 log4j mdc ndc 来完成 但只能在单线程中完成 我的问题是 在创建线程时必须设置
  • Elasticsearch NodeBuilder 与 TransportClient

    对于其他 Elasticsearch 开发人员来说 这可能是一个非常简单 而且愚蠢 的问题 这两者之间有什么区别 我正在从 Java Web 应用程序连接到远程 Elasticsearch 服务器 到目前为止我一直在使用 Transport
  • Java 空值检查

    我有一个thread1 if object null object play 和另一个thread2可以写null into object随时参考 我将同时运行这些线程 我知道thread2可以重写object后参考null检查并会抛出Nu
  • Wildfly 10.1 消耗所有核心

    我们最近将银行应用程序从 java 1 6 升级到 1 8 将 jboss 4 x 升级到 wildfly 10 1 我们观察到 java 消耗了机器上可用的所有核心 10 有人可以告诉是什么原因吗 通常情况下 jboss 4 x 的最大
  • 通过 ssh 发送命令并读取输出结果

    我有代码通过 ssh 连接到远程服务器并向其发送 2 个或更多命令 例如 cd export home ops bin和 viewlinkload time 20131205 19 但我没有看到命令执行 也没有收到结果 我需要获取服务器返回
  • 使用 InputStream 通过 TCP 套接字接收多个图像

    每次我从相机捕获图像时 我试图将多个图像自动从我的 Android 手机一张一张地发送到服务器 PC 问题是read 函数仅在第一次时阻塞 因此 从技术上讲 只有一张图像被接收并完美显示 但在那之后当is read 回报 1 该功能不阻塞
  • Java“非法访问操作”方法将被弃用? [复制]

    这个问题在这里已经有答案了 JDK 9 JVM 发出非法访问操作警告后 如果您使用一些非法访问 例如setAccessible 我的问题 Is setAccessible 以后会被封吗 此功能的官方参考 如果将被弃用 在哪里 我在任何地方都
  • 用 lambda 表达式替换匿名函数

    我在 Java 8 映射操作中传递一个函数 Intellij 告诉我它可以用 lambda 表达式替换 但我不知道如何在不创建中间对象结构的情况下做到这一点 这就是我所做的 List

随机推荐

  • 读论文《Crossformer:利用跨维度依赖进行多变量时间序列预测的Transform》

    原文标题 CROSSFORMER TRANSFORMER UTILIZING CROSSDIMENSION DEPENDENCY FOR MULTIVARIATE TIME SERIES FORECASTING 动机 基于Transform
  • 一文明白IO模型和常问多路复用机制

    1 IO模型 Socket的输入操作有两步 wait for data 等待网络传输数据到达 到达后复制到内核缓冲区 copy data from kernel to user 把数据从内核缓冲区复制到应用进程缓冲区 涉及到两个对象 pro
  • 清理windows缓存bat脚本

    清理windows缓存bat脚本 1 脚本功能 清理windows缓存文件 2 脚本内容 rem 关闭Windows外壳程序explorer taskkill f im explorer exe rem 清理系统图标缓存数据库 attrib
  • 关于博客和github

    关于博客和github github其实很久之前已经在慢慢弄了 但是每次增加了啥东西就要git弄一次确实麻烦 但是如果不这样的久了就忘了 所以github也咕了 最近花了点时间把本地没push的东西都扔上了github 之后学的东西应该也都
  • 网络请求方式(GET和POST)

    在浏览器的URL中写入地址 点击回车 访问 浏览器会发送数据过去 本质上发送的是字符串 GET explor http1 1 r nhost r nuser agent r n r n r n 浏览器会发送数据过去 本质上发送的是字符串 P
  • HAL库下的systick 底层配置 HAL_Delay实现原理 微秒级延时(非中断)以及一些重写延时的小坑 关于HAL_Delay的使用问题

    systick HAL Delay实现原理 微秒级延时 非中断 以及一些重写延时的小坑 关于HAL Delay的使用问题 HAL Delay实现原理 HAL库下的systick 底层配置 实现微秒级的延时 重写延时的小坑 关于HAL Del
  • 在Docker中CentOS7镜像使用systemctl命令方法

    Docker安装 sudo yum install y yum utils device mapper persistent data lvm2 sudo yum config manager add repo https download
  • 星星之火-21: 什么是小区选择/小区初选?失业状态找工作

    小区初选 是指手机在没有驻留的小区的情况下 选择一个合适的小区驻留的过程 小区初选 类似大学毕业或失业状态下找工作 基本思想是尽快找到找到工作 因此 小区选择的基本的思想是 尽快选择信号质量最好的小区 选择小区的其他条件有 选择优先级高的小
  • 多元共进|支持多元梦想,创造包容文化环境

    谷歌致力于推动多元 平等 共融 鼓励每个人赞扬自己取得的成就 了解自我展示的重要性 一起了解 2023 Google 开发者大会上 谷歌如何支持企业创造多元共融的文化 打造包容性的工作场所 为每个人创造更加温暖的环境 多元 平等 共融 DE
  • C++ 日期 & 时间

    C 标准库没有提供所谓的日期类型 C 继承了 C 语言用于日期和时间操作的结构和函数 为了使用日期和时间相关的函数和结构 需要在 C 程序中引用
  • 亚马逊AWS营收1700亿,阿里云213亿,差距巨大能追赶吗? ...

    信息科技正在从移动互联向万物互联转变 在这个新时代 国内BAT三大互联网巨头在去年纷纷调整云战略 腾讯新成立云与智慧产业事业群积极面向产业互联网转型后 继腾讯提升云服务地位后 随后阿里巴巴和百度也做出相应调整 阿里云升级为阿里云智能事业群
  • 灵星之光-1:调制解调、卷积神经网络异曲同工

    无线通信中的解调 以QAM调制为例 QAM编码的个数 类似图像分类中的类别的个数 调制的过程 类似 深度学习的过程 不同的是 通信中的模型 不需要训练 特征是直接预先编码好了 解调的过程 就是 分类的过程 根据收到的各种变形的电磁波的波形
  • Springboot中利用AOP创建日志文件log4j

    Springboot中利用AOP创建日志文件log4j pom xml文件导入依赖
  • shell 多行注释

    在写 shell 脚本的时候 经常需要注释多行命令 但在每一行前输入 很不方便 1 DOCUMENT 可以采用 HERE DOCUMENT 特性 实现多行注释 这是比较稳妥的作法 比如 bin bash lt lt COMMENT your
  • 火焰检测的相关步骤及算法综述

    引言 随着人类社会的发展进步 火灾成为了不可忽视的多发性问题 火灾一次次展示了其对于人员伤亡和财产的巨大破坏性 火灾的预防和检测一直是人类与火灾斗争过程中关注的焦点 1 近些年来 随着数字通信技术 计算机技术的发展 数字图像处理技术获得了广
  • Yolo系列目标检测 V1-V8

    当two stage proposal detection 系列的算法在目标检测界大展身手的时候 不禁会有人问道 Why we have to train proposal first 于是 便有学者展开了关于one stage算法的研究
  • 修改jupyter notebook的默认路径

    前言 由于不想占用C盘空间 所以想修改jupyter notebook的默认路径 第一次打开anaconda中自带的jupyter notebook 默认路径都是C Users Admin 自己的用户名 新建想默认打开的文件夹 在你想以后默
  • N沟道和P沟道MOS FET开关电路

    在电路中常见到使用MOS FET场效应管作为开关管使用 下面举例进行说明 如图1所示 使用了P沟道的内置二极管的电路 此处二极管的主要作用是续流作用 电路是Li电池充放电电路 当外部电源断开时采用Li电池进行内部供电 即 5V电源断开后Q1
  • python做量化交易干货分享

    python做量化交易干货分享 http www newsmth net nForum article Python 128763 最近程序化交易很热 量化也是我很感兴趣的一块 国内量化交易的平台有几家 我个人比较喜欢用的是JoinQuan
  • Java、解一元二次方程

    可以使用下面的公式求一元二次方程 ax 2 bx c 0 的两个根 r1 b b 2 4ac 2a r2 b b 2 4ac 2a b 2 4ac 称作一元二次方程的判别式 如果它是正值 那么一元二次方程就有两个实数根 如果它为 0 方程式