Java 变量可能尚未初始化?错误

Java 变量可能尚未初始化?错误,java,android,Java,Android,我正在开发一个应用程序,但目前还不能真正运行。该应用程序计算你在楼梯上行走时燃烧了多少卡路里。但当我想计算卡路里的总量时,它说变量可能还没有初始化。所以我做了双kcal=0。但当我测试我的应用程序时,它只给出了数字0.0作为我那天燃烧的卡路里。你们知道怎么解决这个问题吗 这是我声明双精度的代码: double trap; double kcal = 0; double endkcal = Math.round( kcal * 100.0 ) / 100.0; double keer; doubl

我正在开发一个应用程序,但目前还不能真正运行。该应用程序计算你在楼梯上行走时燃烧了多少卡路里。但当我想计算卡路里的总量时,它说变量可能还没有初始化。所以我做了双kcal=0。但当我测试我的应用程序时,它只给出了数字0.0作为我那天燃烧的卡路里。你们知道怎么解决这个问题吗


这是我声明双精度的代码:

double trap;
double kcal = 0;
double endkcal = Math.round( kcal * 100.0 ) / 100.0;
double keer;
double gewicht;
double nul = 0.13;
String eten = "Je kan nu Niks eten";
这是计算代码:

trap = Double.parseDouble(editText_trap.getText().toString());
gewicht = Double.parseDouble(editText_gewicht.getText().toString());
keer = gewicht * nul / 4;
kcal = keer * trap;
textView_kcal.setText(String.valueOf(endkcal) + "kcal");

当您这样声明双变量时,初始化所有双变量:

double trap=0.0;
double kcal =0.0;
double endkcal = Math.round( kcal * 100.0 ) / 100.0;
double keer=0.0;
double gewicht=0.0;
double nul = 0.13;

当您这样声明双变量时,初始化所有双变量:

double trap=0.0;
double kcal =0.0;
double endkcal = Math.round( kcal * 100.0 ) / 100.0;
double keer=0.0;
double gewicht=0.0;
double nul = 0.13;

显然,您的endkcal变量仅初始化(为0.0)但从未更新。

显然,您的endkcal变量仅初始化(为0.0)但从未更新。

您应该使用
endkcal=Math.round(kcal*100.0)/100.0
在计算
kcal
后进行正确计算。现在计算后得到0.0是正常的,因为
kcal
是0。

您应该使用
endkcal=Math.round(kcal*100.0)/100.0
在计算
kcal
后进行正确计算。现在,计算后得到0.0是正常的,因为
kcal
是0。

“这是我的代码,我在其中声明了双精度:“它们是局部变量还是成员变量?”?请用足够的上下文显示代码。您发布的代码中没有任何地方更新
endkcal
。它将始终为0。当您更改kcal时,它的值不会更改。这是我的代码,我在其中声明了double:“它们是本地变量还是成员变量?”?请用足够的上下文显示代码。您发布的代码中没有任何地方更新
endkcal
。它将始终为0。当你改变kcal时,它的值不会改变。当我这样做时,我得到的错误是它们没有被使用。你在哪里定义你的变量?@JeroenBoot你应该了解实际错误和只是警告/建议之间的区别。当我这样做时,我得到的错误是它们没有被使用。你在哪里定义你的变量变量?@JeroenBoot您应该了解实际错误与警告/建议之间的区别