Java: hogyan lehet elérni, hogy ez a string a for cikluson kívül is használható legyen?
for (int j = 2; j<DEFIB.length(); j++)
{
if (DEFIB.charAt(j) == V)
{
name = new String(DEFIB.substring(2,j));
//System.out.println(name);
break;
}
}
System.out.println(name);
Az első kiírásnál nincs gond, a másodiknál már:
error: variable name might not have been initialized
String name; - így vettem fel a változót még a program legelején.
MINDIG adj kezdőértéket a változódnak, amikor azt létrehozod. Lehetőleg olyat, ami nem öli le a programot, ha a kezdőértéken marad.
String valami = "";
for (...) {}
System.out.println(valami);
Második:
"String name; - így vettem fel a változót még a program legelején."
Kösz első!
Úgy oldottam meg, hogy az elején átjavítottam "String name = null;"-ra
Ez a megoldás a jobb vagy a "String name = "";"?
Egy dolog, hogy nem öli le.
Kettő dolog, hogy melyik gyorsabb/erőforrás kímélőbb hogyha 10 a 100milliárdadikonszor kell lefuttatnia egy gépnek.
Ha nem inicializálod, akkor mindenképpen hibát fog dobni, mert a proginak lehet olyan lefutása, amikor nem kap értéket, mire a println-hez ér, legalábbis a java így fogja látni.
Első jól írta, úgy használd.
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!