Java/androidban ha van egy változó, ami egy if-ben vesz fel értéket, akkor azt hogyan lehet megcsinálni, hogy azt az értéket vigye tovább is az if-en kívül?
Newm tudom hogyan nevezik az "if"-et...
A lényeg, hogy így néz ki a dolog:
//a view1 az egy TextView
//a field1 az egy EditText
float f1;
String s_f1 = field1.getText().toString();
if (!s_f1.matches("") {
f1 = Float.parseFloat(s_f1);
}
view1.setText(Float.toString(f1);
Ez csak példa, a lényeg, hogy ilyen esetben az if-en belül vesz fel egy értéket a változó, de azon kívül már elveszíti, a hiba: Variable (f1) might not have been initialized
Erre az esetre van megoldás?
nem vagyok programozó, ha nem látszana...
De a válaszokat előre is köszönöm!
A fenti kódban továbbviszi az értéket. A fordító baja csak annyi, hogy mivel az elágazás (if) törzse nem biztos, hogy lefut -> az fl nem biztos, hogy rendelkezik értékkel. A megoldás annyi, hogy inicizalizálod, adsz neki kezdőértéket, például:
float fl = 0.0f;
Akarom mondani:
*inicializálod
Egyébként ennyire alap kérdéseknél az Android-ot javaslom félretenni, és ajánlom, hogy core Java-t tanulgass első körben.
Sőt, akkor sem ad hibát, ha az if-hez adsz egy Else ágat, és ott adsz neki értéket!
De tényleg - ne androidozz, amíg nem vagy tisztában legalább a java alapjaival. Csak meg fogod utálni az egészet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!