Hogyan tudnám ezt a programrészletet leegyszerűsíteni, hogy ne legyen ennyi feltétel benne?
A 2 if részt összevonhatod egy and jellel, aminek a visszatérési értéke true lesz, else ág pedig marad false.
Ugyan ezt megcsinálod mind a 2 résszel.
Pl:
if((let.getSender().getNumber() % 2) = 0) && ( let.getSender().getNumber() < lastOdd) return true;
else return false;
Mellesleg, ha a feltétel után csak egy soros utasítást adunk meg, nem kell kapcsoszárójel. Csak figyelni kell hogy a feltétellel egy sorban maradjon az utasítás:
else{
return false;
}
ugyan az mint az:
else return false;
letisztultabb, szebb, átláthatóbb
public boolean deliver(Letter let)
{
if(let.getSender().getNumber() % 2 == 0)
{
return let.getSender().getNumber() < lastOdd;
}
return let.getSender().getNumber() < lastEven;
}
public boolean deliver(Letter let)
{
return ((let.getSender().getNumber() % 2 == 0) && (let.getSender().getNumber() < lastEven)) || ((let.getSender().getNumber() % 2 == 1) && (let.getSender().getNumber() < lastOdd))
}
vagy ha a kód rövidsége is cél, akkor:
public boolean deliver(Letter let)
{
int number = let.getSender().getNumber();
return (number % 2 == 0) && number < lastEven)) || number % 2 == 1) && (number < lastOdd))
}
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!