Fiz o comando para incrementar + 2 e ficou assim, resultado correto não seria 2, 4 e stop.
Fiz o comando para incrementar + 2 e ficou assim, resultado correto não seria 2, 4 e stop.
Olá, André.
Tudo bem?
Pode ser o valor inicial de i
que foi definido como i=1
ao invés de i=0
. Isso faz com que o loop comece com i
igual a 1 e, em seguida, incremente de 2 em 2. No entanto, o que está causando o loop infinito é que a condição de parada i<5
nunca é atingida, já que você está incrementando i
com i = i+2
, e o valor de i
sempre será ímpar (começando em 1 e somando 2 a cada iteração).
Para corrigir e obter a saída esperada de 2, 4 e stop, você deve iniciar o valor de i
em 0 e ajustar a condição de parada para que ela permita que o loop seja executado enquanto i
for menor que 5. Além disso, é importante garantir que o incremento não ultrapasse a condição de parada. Aqui está o código corrigido:
void main() {
for(int i = 0; i < 5; i = i + 2) {
print('Concluí $i voltas');
}
}
Com essa correção, o loop irá imprimir:
Concluí 0 voltas
Concluí 2 voltas
Concluí 4 voltas
E então irá parar, pois na próxima iteração i
seria 6, o que não satisfaz a condição i < 5
. Se você deseja começar a contagem a partir de 2, você pode ajustar o valor inicial de i
para 2 e a condição de parada para i <= 4
:
void main() {
for(int i = 2; i <= 4; i = i + 2) {
print('Concluí $i voltas');
}
}
Isso resultará em:
Concluí 2 voltas
Concluí 4 voltas
Espero que isso resolva o problema que você estava enfrentando. Espero ter ajudado e bons estudos!