Итак, у меня есть цикл, обернутый вокруг цикла и оператора if. Однако при запуске программы она выходит из внутреннего цикла (как и планировалось), а затем терпит неудачу с оператором if (также как и планировалось), прибегая к оператору else, который представляет собой простую печать.
То, что я / хотел / произошло, было иметь его тогда (в случае сбоя if), перезапустить исходный внутренний цикл - следовательно, внешний цикл. Но вместо этого, после того как он не выполнил оператор if, он снова и снова начинает повторять "phrase2".
Вот упрощенный код:
int x = 1;
int y = 1;
int i = 0;
while(i == 0)
{
while(<condition that is false>)
{
System.out.println("phrase1");
a = input.nextInt();
b = input.nextInt();
}
if(<condition that is false>)
{
i = 1;
}
else
{
System.out.println("phrase2");
}
}
Спасибо за помощь несмотря ни на что!
РЕДАКТИРОВАТЬ: Для акцента... Что происходит: бесконечный цикл, извергающий "phrase2". Что я хотел: после выполнения else я хотел снова попасть во внутренний цикл.
else
, чтобы правильно перезапуститься. - person dlev   schedule 06.03.2014<condition that is false>
действительно всегда ложно, тоi
никогда не меняется с нуля, поэтому, конечно,while(i == 0)
будет работать бесконечно.i
нужно как-то изменить. - person aliteralmind   schedule 06.03.2014phrase2
снова и снова, заключается в том, что вы (я так полагаю) не меняете условие<condition that is false>
для первого цикла while. Как только вы это сделаете, будет введен первый цикл while, но, к сожалению, если он следует за циклом while после него, он запустится, а затем выйдет из внешнего цикла. Это то, что вы хотели сделать? Мне кажется, что вы, возможно, хотели, чтобы оператор if имел другое условие для проверки (я могу ошибаться). - person Alvin Bunk   schedule 06.03.2014