- A+

Category：Languages

I have an array and I want to know what are the prime numbers in this array. I know that number 4 is not a "Prime number" but it still prints me the number 4 what am I missing? I know I can't add on the second if:" if (isPrime && number != 4 )but I just want to understand what is wrong with my code and why number 4 is printed Thanks

` int numbe []= {1,2,3,4,5,6,7,8,9,10}; System.out.println("Prime Numbers are:"); for(int number : numbe) { boolean isPrime =true; for (int i = 2; i < number / 2 ; i++) { if ((number % i) == 0) { isPrime = false; break; } } if (isPrime) System.out.println("Prime Number: " + number); } `

You have to change the inner for loop as follow

` for (int i = 2; i <= number / 2 ; i++) { ... } `

Otherwise for `4`

you will never enter the loop (`4/2`

is `2`

and `2 < 2`

is `false`

for the first iteration) and the variable `isPrime`

remains `true`

.