Skriva om en metod
Hej!
Uppgiften är:
"Rewrite the increment method without the modulo operator, using an if-statement. Which solution is better?"
Mitt förslag:
public void increment()
{
int test = value +1 ;
if (test == limit){
value = 0 ;
}
else {
value = test;
}
}
Är det rätt?
Hur ska man veta vilken lösning som är bättre? Tidsmässigt så lär det väl inte vara någon skillnad?
Mvh KriAno
Det ser ut att bli problem här. Vad händer om value är större än limit? Om du loopar med increment() kanske det kan fungera, men det är onödigt krångligt. Ett bättre förslag för att hitta en rest är att använda en inbyggd divisionsfunktion, och avrunda nedåt. Exempel:
Eftersom 'value' är private så kan man veta rätt mycket om vad den kan anta för värden. Om den bara kan ha värden mellan 0 och limit så går det ju att göra så. Men gör man sig beroende av det så är det viktigt att det inte slutar vara sant någon gång i framtiden när någon ändrar i koden.
Att fråga sig om det gör någon skillnad i tid är bra. Det gör nog inte det, eller annorlunda uttryckt, om det är viktigt med så små tidsskillnader så är Java fel språk.