Я только начинаю программировать, и я только начал заниматься java в нашей школе на прошлой неделе. То, что я пытаюсь сделать, это пропустить итерацию, используя оператор continue во время цикла в java, и, к сожалению, результат не тот, который я ожидал, что это будет...
Это мой код:
// Using while Loop
int counter = 1;
while(counter <= 5){
if(counter == 3){
continue;
}
System.out.println(counter);
counter++;
}
Вывод: 1 2, и он не печатает 4 и 5, но я заметил, что программа все еще не завершена.
Я даже пробовал кодировать его так:
int counter = 1;
while(counter <= 5){
System.out.println(counter);
if(counter == 3){
continue;
}
counter++;
}
Он просто печатает 3 безостановочных
int counter= 1;
while(counter <= 5){
counter++;
if(counter == 3){
continue;
}
System.out.println(counter);
}
этот печатает 2 4 5 6 вместо 1 2 4 5
Я использовал цикл для этого, и он хорошо работает
это мой код:
//using for loop
for(int counter = 1; counter <= 5; counter++){
if(counter == 3){
continue;
}
System.out.println(counter);
}
это печатает правильный результат...
Теперь, может кто-нибудь, пожалуйста, скажите мне, в чем моя ошибка при использовании цикла while в этом упражнении? Спасибо...
if(counter == 3){
continue;
}
System.out.println(counter);
counter++;
Здесь оператор continue
пропускает ctr++;
выражение, так что всегда 3
и в while
цикл никогда не заканчивается
int counter = 1;
while(counter <= 5){
System.out.println(counter);
if(counter == 3){
continue;
}
counter++;
}
Здесь будет counter++;
оператор печати, как и до continue
, но counter++;
будет по-прежнему пройденным, что приведет к бесконечному циклу печати 3.
int counter= 1;
while(counter <= 5){
counter++;
if(counter == 3){
continue;
}
System.out.println(counter);
}
Здесь counter++
достигнуто, но он будет увеличен до println()
чтобы он печатал один плюс значения, которые вы хотите
for
который автоматически увеличивает i
?
Кстати, в первом ответе @GBlodgett вы знаете, почему ваша программа не показывает результат, которого вы ожидали. Вот как вы можете достичь своего результата.
//Использование while Loop
int counter = 0;
while(counter < 5){
counter++;
if(counter == 3){
continue;
}
System.out.println(counter);
}
Проблема в том, что как только счетчик == 3, он всегда будет указывать утверждение if как true и никогда не увеличивать счетчик. Таким образом, цикл while будет печатать 1 2, а затем выполнять бесконечно.
Чтобы решить эту проблему, введите код так:
// Using while Loop
int counter = 1;
while(counter <= 5){
if(counter == 3){
counter++;
continue;
}
System.out.println(counter);
counter++;
}
Просто добавьте counter++ перед оператором continue. Надеюсь это поможет.
continue
там, это не доcounter++