- imprima a soma de 1 até 1000.
Eu fiz desta forma:
public class Exercicio02
{
public static void main(String[] args)
{
for (int i = 1; i <= 1000; i += i)
{
System.out.println(i);
}
}
}
Tá certo? :roll:
Eu fiz desta forma:
public class Exercicio02
{
public static void main(String[] args)
{
for (int i = 1; i <= 1000; i += i)
{
System.out.println(i);
}
}
}
Tá certo? :roll:
Olá,
Não está não.
Perceba o que acontece:
Se vizesse de 1 a 1000 no papel, olhe como ficaria (o inicio)
1 + 2 + 3 + 4 + 5 = 15 (de 1 a 5)
Coloque i <= 5 e teste. Deu o mesmo resultado?
Seu “i” chega no 1000 muito rápido, pq vc vai dobrando o valor de i a cada iteração ( i += i ).
O certo seria vc ter o contador i, que vai de 0 a 999 (ou de 1 a 1000) e usar uma segunda variável para armazenar a soma, ai você não mistura os “papéis” das variáveis. Olhe os exemplos:
int soma = 0;
for ( int i = 0; i < 1000; i++ ) {
soma += i + 1; // i inicia em 0, então precisa ser ajustado em +1 unidade
}
System.out.println( soma );
ou
int soma = 0;
for ( int i = 1; i <= 1000; i++ ) {
soma += i;
}
System.out.println( soma );
Perceba a diferença entre os exemplos. No primeiro, i inicia com 0 e vai até 999, no segundo, i inicia com 1 e vai até 1000.
Apesar de o segundo exemplo ser mais claro no que acontece, tente se acostumar a usar sempre os contadores iniciando em 0, pq normalmente vc vai usar um for para percorrer um array, e o primeiro índice de um array é 0.
[]´s