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!