Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
*3.1(代數(shù):解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,編寫(xiě)程序提示用戶輸入a b c的值,并顯示基于判斷式的結(jié)果
- 題目
- 題目描述
- 運(yùn)行示例
- 破題
- 代碼
題目
題目描述
3.1(代數(shù):解一元二次方程)
可以使用下面的公式求一元二次方程ax2+bx+c=0
r1 = (-b + Math.pow((Math.pow(b, 2) - 4 * a * c), 0.5)) / 2a
r2 = (-b - Math.pow((Math.pow(b, 2) - 4 * a * c), 0.5)) / 2*a
判斷式:Math.pow(b, 2) - 4 * a * c
判斷式>0則有兩個(gè)根,=0一個(gè)根,<0顯示"The equation has no real roots"
編寫(xiě)程序提示用戶輸入a b c的值,并顯示基于判斷式的結(jié)果
運(yùn)行示例
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
破題
代碼
import java.util.Scanner;public class Test3_1 {public static void main(String[] args) {// 獲取數(shù)據(jù)Scanner input = new Scanner(System.in);System.out.println("Enter a, b, c: ");double a = input.nextDouble(), b = input.nextDouble(), c = input.nextDouble();// 計(jì)算判別式double judge = Math.pow(b, 2) - 4 * a * c;// 根據(jù)判別式結(jié)果分三種情況計(jì)算根值并輸出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){ // 補(bǔ)充,如果a=0應(yīng)該也有結(jié)果,但不是根double r1 = (-c) / b;System.out.println("The equation has one root " + r1);}elseSystem.out.println("The equation has no real roots");} }總結(jié)
以上是生活随笔為你收集整理的Java黑皮书课后题第3章:*3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax2+bx+c=0,编写程序提示用户输入a b c的值,并显示基于判断式的结果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java黑皮书课后题第2章:*2.23(
- 下一篇: Java黑皮书课后题第3章:3.2(游戏