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
- 作為一個Java程式設計師,這 8 個開源類庫你必須知道!Java程式設計師
- 成為一名優秀程式設計師(&人類)的 101 個技巧程式設計師
- Java中可以宣告一個類為Static嗎?Java
- 為什麼每個Java的類欄位預設要設為finalJava
- java的一個類!Java
- Java基礎-設計一個Java類所需的方法(轉)Java
- 為了設計這個計程車遊戲,開發者真的成為了一名網約車司機遊戲
- C# 設計一個類,監視這個類的屬性有沒發生改變C#
- 如何從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中main()方法為什麼採用這個方法簽名JavaAI
- 如何成為一名合格的(Java)程式設計師Java程式設計師
- 判斷一個類是否為另一個類的例項 instanceof關鍵字和isAssignableFrom方法的區別
- 想要成為一個合格的Java程式設計師, 你必須要做到這些!Java程式設計師
- 10個習慣助你成為一名優秀的程式設計師程式設計師
- 成為一名優秀網頁設計師的10個建議網頁
- 如何成為一名 Java 冠軍程式設計師?Java程式設計師
- 如何成為一名Java冠軍程式設計師Java程式設計師
- 一個專為程式設計師設計的精緻 Java 部落格系統程式設計師Java
- 設計模式分類之行為型模式設計模式
- 從web前端到全棧,這類程式設計師為何這麼吃香?Web前端全棧程式設計師
- 如何唯一確定一個 Java 類?Java
- Java自定義一個字典類(Dictionary)Java
- 成為一個女程式設計師程式設計師
- 判斷一個類名或者元素是否存在的思路
- java 一個類實現兩個介面的案例Java
- 如何成為一個糟糕的程式設計師程式設計師