2014-01-26 28 views
2

我在做我的數學hw,它需要我計算兩行之間的區域。我解決了他們中的一些,我知道他們是正確的(它的在線,所以它顯示了我是否錯了或正確),然後我想寫一個程序,爲我做計算,我創建了一個很好的算法,用java程序,但最終沒有給我正確的答案。 我把我已經解決的其中一個問題的數據放到是對還是錯。算法錯誤,找到行之間的區域

你能告訴我算法中的錯誤嗎?

public class DailyHelper { 

public static double f(double x) { 
    double y = 5*x; 
    return y; 
} 

public static double g(double x) { 
    double y= 4*x*x; 
    return y; 
} 

public static void main(String[] args) { 
    double xLower = 0; 
    double xHigher = 5/4; 
    double areaF=0; 
    double areaG=0; 
    double change = (xHigher-xLower)/100000; 
    for(double k=xLower; k<xHigher; k=k+change) { 
     areaF = areaF+(change*f(k)); 
    } 

    for(double k=xLower; k<xHigher; k=k+change) { 
     areaG = areaG+(change*g(k)); 
    } 
    double area = areaF-areaG; 
    System.out.println(area); 
} 
} 
+1

兩行之間的區域?你能解釋一下嗎? – Nullpointer

+1

我們應該知道算法應該先做什麼。 *計算兩行之間的區域*是對它應該做什麼的非常模糊的描述,並且在代碼中沒有看到任何「行」的概念。也沒有評論。命名方法「f」和「g」無助於理解它們應該做什麼。 –

+0

我想你試圖執行兩個函數的集成,以便找到函數下方的區域? –

回答

5

只是一個快速的想法。 您的xHigher變量始終爲1,因爲您將int除以int。嘗試5/4d

+0

或只是'double xHigher = 1.25' – user14325

+0

@ user14325是的,這也是正確的。我只是指出了他所犯的確切錯誤:) –

+0

哦,是的,這是有道理的x)謝謝你! – user2864414