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.上面的片段在实例方法内的循环内执行,范围内没有其他变量题为'myVar'。
我是否必须在循环外声明双重?
答案 0 :(得分:1)
我假设您正在使用eclipse进行调试。有时,编译的.class比.java源更旧,并且你会得到这样的效果。通常,编译后的代码会将代码中的行号信息略微倾斜,例如在多行if条件下。
稍前放置断点并执行一步。