2015-11-18 2 views
0

Я начинаю программист, изучая основы в первый раз. Я пытаюсь написать программу, которая вычисляет сумму чисел 1-100 до тех пор, пока логическое значение false.Использование логического элемента управления циклом do/while

Вот мой код:

public class BooleanSum 
{ 
    int count = 0; 
    int total = 0; 
    boolean cond = false; 
do 
{ 
    ++count; 
    total = total + count; 
    if (count >= 100) 
    { 
     cond = true; 
    } 
} while (cond); 
System.out.println(total); 

Вот мой результат: 1

Вывод, который я ищу, 5050, как это правильная сумма.

Что я делаю неправильно?

+0

Какой язык это? Если это компилируется, я не считаю, что это ваш код, учитывая, что у вас есть код непосредственно в классе без функции. – CompuChip

+2

у вас возникло условие цикла: 'while (cond)' требует 'cond' be' true' для повторения. Попробуйте 'while (! Cond)' –

ответ

1

Прежде всего вашего кода логики должна внутри функции и, возможно, в пределах Main() функции и в вашем случае вопрос находится в ниже блоке кода

if (count >= 100) 
{ 
    cond = true; 
} 

Который скорее должен быть

while (count >= 100); 
0
int total = 0; 

for (int count = 1; count <= 100; count++) 
    total += count; 

Выглядит более просто.

1

Просто поместите весь код в основную функцию и измените «while (cond)« to »while (! Cond)». В вашем коде условие внутри while равно false, поэтому код запускается только один раз, а затем выходит из цикла. Вот почему вы получите 1.

0

Проблема заключается в булево - просто сделать выключатель его

public class BooleanSum { 

    public static void main(String[] args) { 

    int count = 0; 
    int total = 0; 
    boolean cond = true; 
    do { 

     total = total + count; 
     if (count >= 100) { 
      cond = false; 
     } 
     count++; 
    } while (cond); 

    System.out.println(total); 

} 
} 
Смежные вопросы