4.7(java)為一元二次方程ax²+bx+c = 0設計一個名為QuadraticEquation的類。這個類包括:
題目要求; 為一元二次方程ax²+bx+c = 0設計一個名為QuadraticEquation的類。這個類包括: 1.代表三個 係數的私有資料域a、b、和c; 2.一個引數為a、b和c的構造方法; 3.a 、 b、c的三個getter方法; 4.一個名為getDiscriminant()的方法返回判別式,b²-4ac; 5. 名為getRoot1()和getRoot2()的方法返回方程的兩個根。 x1 = -b+(根號b²-4ac)/2a 和 x2 =-b-(根號b²-4ac)/2a 這些方法只有在判別式為非負數時才有用,如果判別式為負,這些方法返回0. 編寫一個測試程式,提示使用者輸入a b c 的值,然後顯示判別式的結果。如果判別式為正數,顯示兩個根;如果判別式為0, 顯示一個根;否則顯示“方程無根”
package bookTest2;
public class QuadraticEquation {
// 1.代表三個 係數的私有資料域a、b、和c;
private double a;
private double b;
private double c;
//2.一個引數為a、b和c的構造方法;
//快捷鍵 在空白右鍵 ->Alt+Insert-->constructor 就可以了
public QuadraticEquation(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
// 3.a 、 b、c的三個getter方法;
//快捷鍵在空白右鍵 ->Alt+Insert-->Getter 就可以了
public double getA() {
return a;
}
public double getB() {
return b;
}
public double getC() {
return c;
}
// 4.一個名為 getDiscriminant()的方法返回判別式,b²-4ac;
public double getDiscriminant() {
double discriminant = b * b - 4 * a * c;
return discriminant;
}
// 5. 名為getRoot1()和getRoot2()的方法返回方程的兩個根。如果判別式為負,這些方法返回0
public double getRoot1() {
if (getDiscriminant() < 0)
return 0;
else {
double root1 = (-b + Math.sqrt(getDiscriminant())) / 2 * a;
return root1;
}
}
public double getRoot2 () {
if (getDiscriminant() < 0)
return 0;
else {
double root2 = (-b - Math.sqrt(getDiscriminant())) / 2 * a;
return root2;
}
}
}
2.測試類
testQuadraticEquation
package bookTest2;
import java.util.Scanner;
public class testQuadraticEquation {
public static void main(String[] args) {
//編寫一個測試程式,提示使用者輸入a b c 的值,然後顯示判別式的結果。如果判別式為正數,顯示兩個根;如果判別式為0,
// 顯示一個根;否則顯示“方程無根”
Scanner sc = new Scanner(System.in);
System.out.println("請輸入a的值");
double a = sc.nextDouble();
System.out.println("請輸入b的值");
double b = sc.nextDouble();
System.out.println("請輸入c的值");
double c = sc.nextDouble();
//引過來
//如果判別式為正數,顯示兩個根;如果判別式為0 顯示一個根;否則顯示“方程無根”
QuadraticEquation quadraticEquation = new QuadraticEquation(a,b,c);
if (quadraticEquation.getDiscriminant() > 0) {
System.out.println("x1="+quadraticEquation.getRoot1());
System.out.println("x2="+quadraticEquation.getRoot2());
}else
if (quadraticEquation.getDiscriminant() == 0) {
//因為兩個值相等引用一個就可以
System.out.println("x1=x2="+quadraticEquation.getRoot1());
}else {
System.out.println("您輸入的方程無根");
}
}
}
執行結果圖 1 是>0 ; 2是=0;3是<0
相關文章
- 使用java設計一個名為Time的類Java
- 一個名為不安全的類Unsafe
- 作為一個Java程式設計師,這 8 個開源類庫你必須知道!Java程式設計師
- 成為一名優秀程式設計師(&人類)的 101 個技巧程式設計師
- 如何從0到1設計一個類Dubbo的RPC框架RPC框架
- 【C語言】ax²+bx+c=0求解(兩個相等根/不相等根/無實根)C語言
- 一個Java類的載入Java
- 【Java小疑問】java原始檔當中可以有多個類,但是為什麼只能有一個public類呢?Java
- 簡單設計一個JAVA並行處理工具類Java並行
- 因為美女太多,這所學校設定了三個計算機類學院計算機
- ax²+bx+c≡0 mod m 和 x²≡a mod p的解存在性分析
- Java集合為什麼設計為:實現類繼承了抽象類,同時實現抽象類實現的介面Java繼承抽象
- 題目:設計一個類,我們只能生成該類的一個例項。 程式碼如下
- 太任性!因為美女太多,這所學校設定了三個計算機類學院計算機
- 為了設計這個計程車遊戲,開發者真的成為了一名網約車司機遊戲
- 一個專為程式設計師設計的精緻 Java 部落格系統程式設計師Java
- 想要成為一個合格的Java程式設計師, 你必須要做到這些!Java程式設計師
- 如何唯一確定一個 Java 類?Java
- java 一個類實現兩個介面的案例Java
- 設計模式分類之行為型模式設計模式
- 推薦一個java操作ftp的工具類JavaFTP
- 從web前端到全棧,這類程式設計師為何這麼吃香?Web前端全棧程式設計師
- Java Object類的各個方法JavaObject
- Java類方法(定義一個工具類,儲存一些常用的方法)Java
- 跨鏈通訊可分為幾個類別?
- java中的Arrays這個工具類你真的會用嗎Java
- java內部類,為什麼需要內部類?Java
- 為什麼成為一名程式設計師?程式設計師
- Java™ 教程(Object作為超類)JavaObject
- 作為人工智慧的一個重要分支,計算機視覺正包圍人類人工智慧計算機視覺
- 如何判斷一個類是從另一個類繼承繼承
- SQL按照功能分為哪幾類?具體包括什麼?SQL
- .NET CORE AUTOMAPPER 對映一個類的子類APP
- 你為什麼成為一名程式設計師?程式設計師
- Model類的一個return作用
- 華為,百度豪投,這類程式設計師要再次上榜了!程式設計師
- 想要成為一名程式設計師,怎麼選一個靠譜的IT培訓機構?程式設計師
- 驚喜!一個檔案多個【請求類】的另類寫法