1

わかりましたので、メソッドがローカルで使用されていないと言っている理由がわかりません....プライベート 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;
}
4

2 に答える 2

3

プライベート メソッドを宣言しましたが、現在のコードのどこにも使用していないため、コンパイラはこれを警告しています (プログラムをチェックして、このメソッドをどこかで呼び出しているかどうかを確認してください)。

ちなみに、表示されているのはエラーではなく警告です。コードは引き続きコンパイルされ、プログラムは引き続き実行されます (エラーが存在しない場合)。


編集 1
double パラメーターを取り込んですぐに破棄するという点で、メソッドに深刻な問題があり、おそらく複数の問題があります。なんで?パラメーターとして渡される数値をフォーマットする場合は、そのパラメーターを破棄したくありません。また、このメソッド publicをこのクラス外のオブジェクトから呼び出せるようにしますか? また、メソッドには状態がありますか、それともステートレスになりますか? クラスのフィールドを使用するか、渡された数値のみをフォーマットします。後者の場合は、staticメソッドにする必要があります。

于 2012-10-18T22:07:04.907 に答える
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;
}
于 2012-10-22T17:48:43.670 に答える