【问题标题】:Variable might not have been initialized? Error变量可能尚未初始化?错误
【发布时间】:2016-07-17 01:21:45
【问题描述】:

我正在开发一个应用程序,但目前它并没有真正奏效。该应用程序会计算您在走楼梯时燃烧了多少卡路里。但是当我想汇总卡路里量时,它说变量可能尚未初始化。所以我做了双 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");

【问题讨论】:

  • "这是我声明双打的代码:" 它们是局部变量还是成员变量?请显示具有足够上下文的代码。
  • 在您发布的代码中没有任何地方更新endkcal。它始终为 0。当您更改 kcal 时,它的值不会改变

标签: java android


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      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;
      

      【讨论】:

      • 当我这样做时,我得到了他们没有被使用的错误。
      • 你在哪里定义你的变量?
      • @JeroenBoot 您应该了解实际错误与警告/建议之间的区别
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多