2014-10-18 3 views
2

Я написал следующий код:Умножение нечетные числа 1-15

int oddProd = 1; 

    for(int count = 1; count >= 15; count++){ 
     if (count % 2 != 0) 
      oddProd = oddProd * count; 
    } 
    System.out.println("Odd Product: " + oddProd); 

Почему это не работает? Он выводит 1, и я проверил, он даже не входит в цикл for!

+1

'for (start; WHILE_THIS_IS_TRUE; incr)' – user2864740

+0

@owlstead: с радостью. –

+1

Dupe: http://stackoverflow.com/q/10516248/589259 –

ответ

5

Средняя часть для цикла является булевым чеком, и ваша всегда будет ложным:

count >= 15; 

Это не будет работать, так как это не будет правдой в начале, и ваша вона петли Не начинай. Изменение Гретера чем оператор менее чем один:

count <= 15; 
6
for(int count = 1; count >= 15; count++){ 

Вы написанное выражение неправильного пути вокруг; теперь count >= 15, но это должно быть count <= 15.

+0

Не знаю, почему кто-то проголосовал бы за правильный ответ. 1+ –

+0

@HovercraftFullOfEels. По-видимому, некоторые люди думают, что ответы должны быть опущены на вопросы, которые должны быть опущены. Это глупый менталитет, но я, конечно, это видел. – Pokechu22