-1
while (someCondition) {
    double myVar = someFunc(); // someFunc returns 41

    if (myVar > 0) {
     String precision ="##";
     DecimalFormat df = new DecimalFormat("0."+precision);
     // breakpoint set on next line
     double myVarPercentage = Double.parseDouble(df.format((myVar/50)*100));
    }
}

eclipse を介して myVar の値を見ると、 someFunc() が 41 に解決されているにもかかわらず、変数に解決できないことが示されています。 '。

ループの外側で double を宣言する必要がありますか?

4

1 に答える 1

1

Eclipseでデバッグしていると思います。コンパイルされた .class が .java ソースより古い場合があり、そのような効果が得られます。多くの場合、コンパイルされたコードは、複数行の if 条件などで、コード内の行番号情報を少し歪めます。

少し前にブレークポイントを置き、シングルステップを実行します。

于 2013-07-15T12:04:49.197 に答える