2012-01-04 118 views
-1

我目前正在嘗試做一個球體的體積,但是當我運行我的程序時,它給了我錯誤的答案。這裏是我的代碼:麻煩計算

-(IBAction)calculate 
{ 
    double radiusNum = [radius.text doubleValue]; 
    double ansNum = 4/3 * 3.14159 * (radiusNum * radiusNum * radiusNum); 

    NSString *ans = [NSString stringWithFormat:@"%1.4f Units^3", ansNum]; 
    answer.text = ans; 
} 

你能告訴我如何解決它和我做錯了什麼。 p.s我正在使用Xcode 4並且預先感謝您

+0

你能發表一個不正確的值的例子嗎?你的數學看起來是正確的,你的字符串格式也好。如果你停在調試器中,ansNum是否正確?如果是這樣,或許你在格式化數字顯示方面存在問題。 – user1118321 2012-01-04 06:08:30

回答

0

其實這是邏輯錯誤。 該方法應該如下:

-(IBAction)calculate 
{ 
    double radiusNum = [radius.text doubleValue]; 
    double ansNum = (4 * 3.14159 * (radiusNum * radiusNum * radiusNum))/3; 

    NSString *ans = [NSString stringWithFormat:@"%1.4f Units^3", ansNum]; 
    answer.text = ans; 
} 

計算順序是錯誤的。

+0

這個答案對你有幫助嗎? – Ilanchezhian 2012-01-04 06:21:27

0
double radiusNum = [radius.text doubleValue]; 
double ansNum = (pow(radiusNum, 3)*4/3)*3.1415927; 

NSString *ans = [NSString stringWithFormat:@"%1.4f Units^3", ansNum]; 
    NSLog(ans);