You are testing if number == 2, then if 3, so it will always be true as 3 is true.
Also, READ SICP
Name:
Anonymous2008-03-06 17:33
Since nobody else has actually included what the right code is, here you go...
if (number == 2 || number == 3)
The operators == || && all take two numbers and produce either 0 or 1.
== produces 1 if the two numbers are equal and 0 otherwise.
|| produces 0 if both numbers are 0 and 1 otherwise.
&& produces 1 if both numbers are 1 and 0 otherwise.
Hence, (number == 2 || 3) can be read as (number == 2) || 3, regardless of what the left side of || is, the right side is 3, which is not 0, and so the || returns 1 (true).