2012-08-04 147 views
1

我需要幫助,看起來像下面的方法,我需要返回一位小數的半徑所有幫助表示讚賞,我應該使用十進制格式來這樣做。返回方法的幫助

public double beraknaOmkrets() 
{ 
    DecimalFormat f = new DecimalFormat("##.0"); 

    double omkrets = 0; 
    omkrets = radie*2*3.14; 
    return f.format(omkrets).toString; 
} 
+0

這是功課? – 2012-08-04 09:14:43

+0

*「我需要返回半徑一位小數」*您確定這是要求嗎?更常見的情況下,我們會從'getRadius()'返回一個'double',並從'getRadiusAsString()'(或類似的東西)返回一個'String'。我不確定'beraknaOmkrets'翻譯成什麼(請使用英文),但我傾向於使用'getRadius()'並且只在需要時使用'getRadiusAsString()'將radius作爲'String'呈現。 – 2012-08-04 09:20:56

+0

berakna omkrets:計算圓周 – 2012-08-04 09:24:31

回答

1
  1. 你忘了括號在toString()方法 調用結束。
  2. 您的方法簽名是double,但您嘗試返回 String。將退貨類型更改爲String

通過,你可以初始化線合併2個omkrets只有一個方式,沒必要,如果你改變它的價值下一行初始化爲0:double omkrets = radie*2*3.14;

+0

得到以下錯誤消息,然後需要:雙重 找到:字符串 – user1534779 2012-08-04 08:53:34

+0

因爲toString()返回一個字符串,請將您的方法返回類型從double更改爲String。 – kgautron 2012-08-04 08:55:51

0
public string beraknaOmkrets() 
{ 
    DecimalFormat f = new DecimalFormat("##.0");  
    return f.format(radie*2*3.14).toString(); 
} 
0

方法的返回類型是雙,和你返回一個字符串(因爲你的呼喚.toString();你可以改變它像:

public double beraknaOmkrets() 
{ 
    double omkrets = 0; 
    omkrets = radie*2*3.14; 
    return omkrets; 

} 

再有一個像字符串的方法:

public String beraknaOmkretsFormatted(double omkrets) 
{ 
     DecimalFormat f = new DecimalFormat("##.0"); 
     return f.format(omkrets).toString(); 
} 
0

雙打和花車是數字。他們沒有隨身攜帶格式。

4.100 = 4.100000 

要格式化float或double,必須爲其創建一個字符串。正如你所做的那樣,但是你的方法在簽名中返回了兩倍。

0

當您返回一個字符串時,您的方法的返回類型爲double。 將方法的返回類型更改爲String,並且不需要將其初始化爲0,因爲在該範圍內,您將更改下一行中的值。

0

您需要DecimalFormat

public double beraknaOmkrets() 
{ 


    DecimalFormat f = new DecimalFormat("##.0"); 

    double omkrets = 0; 
    omkrets = f.format(radie*2*3.14); 
    return omkrets; 

}