2016-03-29 55 views
0

我正在開發一個應用程序,目前它並不能真正解決問題。該應用程序會計算您在走樓梯時消耗了多少卡路里。但是,當我想要收集卡路里量時,它說變量可能沒有被初始化。所以我做了雙千卡= 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"); 
+2

「這裏是我聲明雙打的代碼:」它們是局部變量還是成員變量?請用足夠的上下文顯示代碼。 –

+1

你發佈的代碼中沒有任何地方更新'endkcal'。它總是0.當你改變'kcal'時,它的值不會改變。 –

回答

2

在計算kcal以正確計算後,您應該使用endkcal = Math.round(kcal * 100.0)/100.0;。由於kcal爲0,所以現在計算後得到0.0是正常的。

+0

謝謝,這真的幫助我。它現在工作! –

+0

我會在3分鐘內接受答案 –

+0

好的,謝謝!我很高興我幫助你! –

1

初始化所有的雙變量的時候,你已經聲明他們是這樣的:

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; 
+0

當我這樣做時,我得到了他們沒有使用的錯誤。 –

+0

你在哪裏定義你的變量? –

+0

@JeroenBoot你應該知道一個實際的錯誤,只是一個警告/建議 –

1

顯然你的endkcal變量只被初始化(爲0.0),但從未更新。