2016-09-06 83 views
1

請幫助我用函數方法解決二次方程。如何通過函數方法java解決二次方程?

我有2類:

void類和function類。

我想打電話給function類來解決一個二次方程。我怎樣稱呼function課程? void類:

import java.util.Scanner; 

public class task53 { 

    public static void main(String[] args) { 

    Scanner sc= new Scanner (System.in); 
    double a, b,c; 
    System.out.println("please input int for Quadratic equation"); 

    System.out.println(" a -int input "); 
    a= sc.nextInt(); 
    System.out.println(" b -int input "); 
    b= sc.nextInt(); 
    System.out.println(" c -int input "); 
    c= sc.nextInt(); 

    System.out.println(Function.tenlikkok(a, b)); 

    } 
} 

function類:

public class Function { 
    public static double D(double a, double b, double c, double resultD) { 

    resultD = Math.pow(b,2) - 4*a*c; 
    return resultD(); 

    } 

    public static double root (double a, double b) { 

    double D =Function.tenlikD(a, b, c, resultD); 


    if (D > 0){ 
     double x1,x2; 
     x1 = (-b - Math.sqrt(D))/(2*a); 
     x2 = (-b + Math.sqrt(D))/(2*a); 
     System.out.println(" x1 = " +x1 + " x2 = " +x2); 
    } 
    else if (D==0){ 
     double x; 
     x = -b/(2 * a); 
     System.out.println(" x1 = x2 = " + x); 
     } else { 
     System.out.println("no root"); 
    } 

    return D; 
    } 
} 
+0

我沒有看到你在哪裏定義'tenlikkok'或'tenlikD'方法。 – azurefrog

+1

相似? http://stackoverflow.com/questions/26813045/solving-quadratic-equation-using-methods-java?rq=1 – LeHill

+0

你的代碼似乎有一些問題。我相信你的問題的答案是'System.out.println(Function.root(a,b));'。但是,'root()'返回判別式,所以這就是它將打印的內容,除了'root()'打印自己的內容。 –

回答

0

雖然代碼是相當不清楚,因爲是你的問題,我相信你試圖實現從類Function方法task53類,也許?要做到這一點,你可以在此線下public class task53{

Function func = new Function();

,並通過做func.method()Function實現的方法。

+0

因爲'Function'只包含靜態方法,所以在實例化它時沒有意義(在'new Function()'中沒有任何一點)。只是爲了執行'Function.staticMethod()'(或者使這些方法是非靜態的)而被認爲是更好的風格。 –