2012-08-04 117 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; 

}