循环java的调用方法

时间:2012-10-18 22:05:38

标签: java methods casting formatting

好的,所以我无法理解为什么它说这个方法没有在本地使用....私有String formatNumber()方法就这么说。

基本上我需要做的是有一个返回周长的方法 - 将数字舍入到2位小数并返回字符串的另一种方法 - 以及另一种返回圆周格式化版本的方法......

不难看出我正在尝试做什么,但它给了我上述错误,我无法弄明白。

//figures out circumference
public  double getCircumference(){

    circumference = 2 * Math.PI * radius;

    return circumference;


}
    //takes string and turns back into a double
public double getFormattedCircumference(){

    double x = Double.parseDouble(format);
    return x;


}
//this method is giving the error of not being used locally...
    //method takes double and turns to string so that it can be formatted and it
      has to be a string
private String formatNumber(double x){

    x = circumference;
    NumberFormat number = NumberFormat.getNumberInstance();
    number.setMaximumFractionDigits(2);
    String format = number.format(x);
    return format;
}

2 个答案:

答案 0 :(得分:3)

你已经声明了私有方法,但是你没有在当前的代码中使用它,因此编译器会警告你这一点(检查你的程序,看看你是否在任何地方调用这个方法)。

顺便提一下,您所看到的是警告而不是错误。您的代码仍应编译,程序仍将运行(如果没有错误)。


编辑1
你对这个方法有一个严重的问题,也许不止一个,因为它接受一个双参数然后立即丢弃它。为什么?如果要格式化作为参数传入的数字,则不希望丢弃该参数。另外,您是否想要使用此方法public以便它可以被此类之外的对象调用?此外,该方法是否具有状态还是无状态?它会使用类的字段,还是只格式化传入它的数字。如果是后者,那应该是static方法。

答案 1 :(得分:0)

我弄明白了。我让它变得比实际更难。

//figures out circumference
public  double getCircumference(){

circumference = 2 * Math.PI * radius;

return circumference;


}

public String getFormattedCircumference(){

return formatNumber(getCircumference());

}


//formats to two decimal places.
private String formatNumber(double x){

NumberFormat number = NumberFormat.getNumberInstance();
number.setMaximumFractionDigits(2);
String format = number.format(x);
return format;
}