import java.util.Scanner;
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站設計、網(wǎng)站建設、外貿(mào)網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的高平網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
public class equation {
public static void main(String[] args){
System.out.println("輸入一元二次系數(shù)a,b,c:");
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int b=in.nextInt();
int c=in.nextInt();
double x1,x2;
int deta=b*b-4*a*c;
if(deta==0){
x1=x2=(-b)/(2*a);
System.out.println("x1="+x1);
System.out.println("x2="+x2);
}else{
double t=Math.sqrt(Math.abs(deta))/(2*a);
if(deta0){
x1=(-b)/(2*a)+t;
x2=(-b)/(2*a)-t;
System.out.println("x1="+x1);
System.out.println("x2="+x2);
}else{
x1=(-b)/(2*a);
x2=(-b)/(2*a);
System.out.println("x1="+x1+"+"+t+"*i");
System.out.println("x2="+x2+"-"+t+"*i");
}
}
}
}
import java.util.Scanner;
public class abcXXX {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner (System.in);
System.out.println("請輸入一元二次方程的a、b、c的值:");
System.out.print("a=");
int a =input.nextInt();
System.out.print("b=");
int b =input.nextInt();
System.out.print("c=");
int c =input.nextInt();
double num=-b/(2.0*a); //求一元二次方程的對稱軸
double price=Math.sqrt(b*b-4*a*c)/2.0*a;
double x1=num-price; //一元二次方程的一個根
double x2=num+price; //一元二次方程的另一個根
System.out.println("此一元二次方程的根為:"+"x1="+x1+"\t"+"x2="+x2);
}
}
1)簡介
一元二次方程 ax2+bx+c=0 的a、b、c三個參數(shù)由用戶自行定義,通過該程序輸出該一元二次方程的根。
對于該程序需要在“應聲蟲”的基礎上進行參數(shù)的自定義,在定義完成后需要通過求根公式實現(xiàn)結果的輸出,其中Math.sqrt()為對括號的內(nèi)容進行開平方根。
2)任務代碼
關于該程序的代碼如下:
import?java.util.Scanner;//導入java.util包下的Scanner類
public?class?Test2{//類名
public?static?void?main(String[]?args)?{//程序主入口函數(shù),帶命令行參數(shù)
System.out.print("求ax^2+bx+c=0的根"+"\n");//輸出標題
Scanner?in=new?Scanner(System.in);//創(chuàng)建scanner,控制臺會一直等待輸入,直到敲回車結束
System.out.print("請輸入a的值:");//輸出“提示”
int?a=in.nextInt();//用戶可自行定義a的值
System.out.print("請輸入b的值:");//輸出“提示”
int?b=in.nextInt();//用戶可自行定義b的值
System.out.print("請輸入c的值:");//輸出“提示”
int?c=in.nextInt();//用戶可自行定義c的值
double?x1=((-b+Math.sqrt(b*b-4*a*c))/(2*a));//運用求根公式,并且Math.sqrt()為開平方根
double?x2=((-b-Math.sqrt(b*b-4*a*c))/(2*a));//運用求根公式,并且Math.sqrt()為開平方根
System.out.print("x1="+x1+"\n"+"x2="+x2);//輸出兩個根的結果
}
}
3)運行結果?
使用LICEcap進行動圖的制作,運行結果動圖如下:
以下是定義一元二次方程類、封裝系數(shù)及其求根方法的示例代碼:
public class Equation {
private double a;
private double b;
private double c;
// 封裝系數(shù)
public void setA(double a) {
this.a = a;
}
public double getA() {
return a;
}
public void setB(double b) {
this.b = b;
}
public double getB() {
return b;
}
public void setC(double c) {
this.c = c;
}
public double getC() {
return c;
}
// 求根方法
public void solve() {
double delta = b * b - 4 * a * c;
if (delta 0) {
double x1 = (-b + Math.sqrt(delta)) / (2 * a);
double x2 = (-b - Math.sqrt(delta)) / (2 * a);
System.out.println("方程的兩個解分別為:" + x1 + "和" + x2);
} else if (delta == 0) {
double x = -b / (2 * a);
System.out.println("方程的解為:" + x);
} else {
System.out.println("方程無解");
}
}
}
在main()方法中定義一個一元二次方程對象并調(diào)用求根方法,可以這樣寫:
public static void main(String[] args) {
// 創(chuàng)建一個一元二次方程對象
Equation eq = new Equation();
// 設置系數(shù)
eq.setA(1);
eq.setB(2);
eq.setC(1);
// 調(diào)用求根方法
eq.solve();
}
上面的代碼會輸出:方程的解為:-1.0。