*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果

  • 题目
    • 题目描述
    • 运行示例
    • 破题
  • 代码

题目

题目描述

3.1(代数:解一元二次方程)
可以使用下面的公式求一元二次方程ax2+bx+c=0
r1 = (-b + Math.pow((Math.pow(b, 2) - 4 * a * c), 0.5)) / 2
a
r2 = (-b - Math.pow((Math.pow(b, 2) - 4 * a * c), 0.5)) / 2*a
判断式:Math.pow(b, 2) - 4 * a * c
判断式>0则有两个根,=0一个根,<0显示"The equation has no real roots"
编写程序提示用户输入a b c的值,并显示基于判断式的结果

运行示例

Enter a, b, c: 1.0 3 1
The equation has two roots -0.381966 and -2.61803

Enter a, b, c: 1 2.0 1
The equation has one root -1.0

Enter a, b, c: 1 2 3
The equation has no real roots

破题

  1. 获取用户输入的a b c三个值
  2. 计算判别式
  3. 根据判别式结果分三种情况计算根值并输出

代码

import java.util.Scanner;public class Test3_1 {public static void main(String[] args) {// 获取数据Scanner input = new Scanner(System.in);System.out.println("Enter a, b, c: ");double a = input.nextDouble(), b = input.nextDouble(), c = input.nextDouble();// 计算判别式double judge = Math.pow(b, 2) - 4 * a * c;// 根据判别式结果分三种情况计算根值并输出if (judge > 0 && a != 0){double r1 = (-b + Math.pow(judge, 0.5)) / (2 * a);double r2 = (-b - Math.pow(judge, 0.5)) / (2 * a);System.out.println("The equation has two roots "+r1+" and "+r2);} else if (judge == 0 && a != 0){double r1 = (-b) / (2 * a);System.out.println("The equation has one root " + r1);}else if (a == 0){  // 补充,如果a=0应该也有结果,但不是根double r1 = (-c) / b;System.out.println("The equation has one root " + r1);}elseSystem.out.println("The equation has no real roots");}
}

Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果相关推荐

  1. Java黑皮书课后题第5章:*5.1(统计正数和负数的个数然后计算这些数的平均值)编写程序,读入未指定个数的整数,判断读入的正数有多少个、负数有多少个,然后计算输入值的总和和平均值(不记0,浮点表示)

    *5.1(统计正数和负数的个数然后计算这些数的平均值)编写程序,读入未指定个数的整数,判断读入的正数有多少个.负数有多少个,然后计算输入值的总和和平均值(不记0,平均值使用浮点表示) 题目 题目概述 ...

  2. Java黑皮书课后题第9章:*9.6(秒表)设计一个名为StopWatch的类,该类包含……。编写一个测试程序,用于测量使用选择排序对100000个数字进行排序的执行时间

    Java黑皮书课后题第9章:*9.6(秒表)设计一个名为StopWatch的类,该类包含--.编写一个测试程序,用于测量使用选择排序对100000个数字进行排序的执行时间 题目 破题 代码 Test6 ...

  3. Java黑皮书课后题第5章:*5.14(计算最大公约数)下面是求两个整数n1和n2的最大公约数的程序清单5-9的另一种解法:...提示用户输入两个正整数,然后显示最大公约数

    *5.14(计算最大公约数)下面是求两个整数n1和n2的最大公约数的程序清单5-9的另一种解法:首先找出n1和n2的最小值d,然后一次检验d.d-1.d-2....2.1,是否是n1和n2的公约数.第 ...

  4. Java黑皮书课后题第4章:4.19(商业:检测ISBN-10)改写编程练习题3.9,将ISBN号作为一个字符串输入

    4.19(商业:检测ISBN-10)改写编程练习题3.9,将ISBN号作为一个字符串输入 题目 题目概述 编程练习题3.9全面分析博文 3.9代码 破题 代码 题目 题目概述 4.19(商业:检测IS ...

  5. Java黑皮书课后题第7章:*7.33(文化:中国生肖)使用一个字符串数组存储动物名称来简化程序清单3-9的程序

    7.33(文化:中国生肖)使用一个字符串数组存储动物名称来简化程序清单3-9的程序 题目 题目描述 程序清单3-9 代码 运行实例 题目 题目描述 7.33(文化:中国生肖)使用一个字符串数组存储动物 ...

  6. Java黑皮书课后题第6章:*6.14(估算π)π可以使用下面的数列进行计算。编写一个方法,对于给定的i返回m(i),并编写一个测试程序,显示如下表格

    6.14(估算π)π可以使用下面的数列进行计算.编写一个方法,对于给定的i返回m,并编写一个测试程序,显示如下表格 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 6.14(估算π)π ...

  7. Java黑皮书课后题第1章:1.13(代数:求解2*2线性方程组)编写程序,求解以下方程组并显示x和y的值 3.4x+50.2y=44.5 2.1x+0.55y=5.9

    Java黑皮书课后题第1章:(代数:求解2*2线性方程组) 题目 题目描述 破题 代码块 方法评析 赘述 修改日志 题目 题目描述 求x和y值: 3.4x+50.2y=44.5 2.1x+0.55y= ...

  8. Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)

    Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交.第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4) 题目 破题 ...

  9. Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类

    Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类 题目 破题 代码 Test10 Test11_LinearEquat ...

最新文章

  1. 开发日记-20190625 Linux系统管理技术手册(第二版) 第一章习题答案(个人版)
  2. java sendmessage_SendMessage()复制/剪切/粘贴WM_COPYDATA 0x004A
  3. RuoYi后台系统权限管理解析
  4. git remote add Mycat https://github.com/MyCATApache/Mycat-Server.git
  5. koa-mysql(三)
  6. java web 伪静态_【Java Web】使用URLRewrite实现网站伪静态
  7. LeetCode 1017. 负二进制转换(负数进制转换)
  8. 阿里云 OSS 如何设置防盗链, 上个月图床流量耗费50G+,请求次数10W+,什么鬼?
  9. 基于Docker的Mysql主从复制
  10. sublime text3之修改注释颜色
  11. python django部署_Python+django部署(一)
  12. 官网下载Java连接MySql驱动jar包
  13. Visual Studio 打开C语言编译器
  14. python邮件发送 STMP
  15. android使用tcpdump抓包
  16. 【算法】合并两个有序链表
  17. python修改pdf内容
  18. day02 python基础
  19. 迁徙数据平台简单介绍
  20. OpenCV_连通区域分析(Connected Component Analysis-Labeling)

热门文章

  1. wpf listbox绑定不跟新_你知道新媒体吗?好像跟想象的不太一样
  2. 试题 历届试题 带分数(全排列)
  3. python笔记1:字符串处理函数
  4. python开发框架 代码生成_500 行 Python 代码构建一个轻量级爬虫框架
  5. 抢先报名丨2021云上架构与运维峰会将于11月6日在北京举办,五大精彩看点不容错过
  6. 雷锋网独家解读:阿里云原生应用的布局与策略
  7. 从架构到源码:一文了解Flutter渲染机制
  8. mysql更新数据索引慢_mysql添加索引,查询反而变慢
  9. Python基础——PyCharm版本——第七章、面向对象编程
  10. ubuntu下无法在目录下创建文件夹,权限不足解决办法