Inselupdate: Ist eine Zahl mit value % 2 == 1 ungerade?
Um mit value % 2 == 1 zu testen, ob value eine ungereade Zahl ist, muss value positiv sein, denn -3 % 2 wertete Java zu -1 aus. Der Test auf ungereade Zahlen wird erst wieder korrekt mit value % 2 != 0.
Der %-Operator hat mich schon einige Nerven gekostet. Vor allem, wenn man die mathematische Definition gewohnt ist, bei der a % b immer einen Wert zwischen 0 und b-1 ergibt, macht man leicht solche Fehler wie den genannten.
In diesem Blog schreibe ich über aktuelle Entwicklungen in Java, Softwareentwicklung im Allgemeinen, Open-Source, JavaScript, neue Eclipse-Plugins und Neuerungen im Buch ›Java ist auch eine Insel‹.
Über mich
Name: Christian Ullenboom
Standort: Hannover, Niedersachsen, Germany
Ich bin Christian Ullenboom und Autor des Buches ›Java ist auch eine Insel‹. Seit 1997 schule ich als Java-Tutor Themen wie Java SE, EJB 3, Hibernate, JSP/Servlets. Sun ernannte mich 2005 zum ›Java-Champion‹.
3 Comments:
Zum Glück gibt's Math.abs() - und da beißt sich die Katze in den Schwanz *g*
By
Anonym, at März 15, 2007 8:24 PM
Der %-Operator hat mich schon einige Nerven gekostet.
Vor allem, wenn man die mathematische Definition gewohnt ist, bei der a % b immer einen Wert zwischen 0 und b-1 ergibt, macht man leicht solche Fehler wie den genannten.
By
Anonym, at April 03, 2007 5:36 PM
Eine Zahl mit (value & 1 == 1) ist ungerade. Und schneller.
By
Anonym, at Februar 25, 2008 7:03 PM
Kommentar veröffentlichen
<< Home