Programa que soma os 100 1ºnúmeros!

Bom dia galera, então, como eu já disse, eu estou começando a programar em Java e fiz este seguinte programa:

[code]
// Programa que soma os cem primeiros números(1+2+3+4…100) e exibe o resultado

import javax.swing.JOptionPane; // Eu também queria saber o que significa javax eo swing??

public class Soma1a100
{
public static void main(String args[])
{
int n1=2;
int i;

            for(i=1;i<=100;i++)
            n1=n1+i;

            JOptionPane.showMessageDialog(null,"A soma dos cem primeiros números é: "+n1,
                              "RESULTADO",JOptionPane.PLAIN_MESSAGE);
    }

}

O resultado está dando 5052 e queria saber se está certo??

Bom, Gauss disse que a soma dos primeiros 100 números é 5050. Então obviamente há alguma coisa errada. De onde veio o valor “2” que você botou aí no seu programa?

ae galera desculpa, eu esqueci de abrir code e fechar code, por isso saiu zuado a codificação.

Tá errado. Por causa disso:

int n1=2; 

Será que eu tenho que fazer a variável n1 receber zero???

Acho que sim. De onde saiu esse valor 2?

Exato. Afinal os números começam de 0 e não de 2 :wink:

Aff, pode crer, a variável n1 tem que receber 0, nóssa como eu sou loki hahahahaha.
valeu galera, eu acabei de testar aqui e funcionou, valeu mesmo, até mais.

Caramba que ridículo que eu sou hahahaha, facinho facinho o programinha.

Sobre o swing que você perguntou:

http://www.guj.com.br/java.tutorial.artigo.38.1.guj

Então, eu queria sabe o que é javax e também swing??

Que tal chamar n1 de total ?

Geralmente não faz sentido iniciar uma variavel que deva acumular valores com algo diferente de zero, afinal se vc não somou nada o total deveria ser 0.
Sem falar que o nome da variavel pode elucidar muita coisa, n1 não diz nada, vc precisa olhar o codigo e descobrir o que ele faz.

O que vc quer fazer eh:

[code]inicio = 1; // pode ser hard-coded ou
fim = 100; // vir via parametros, enfim.

total = 0; // o nosso acumulador

numero = inicio; // inicio
while(numero <= fim){ // condicao
total = total + numero; // acumulando…
numero = numero + 1; // incremento
}[/code]

O while pode ser transformado em um laço for, sem problemas, mas perceba que assim é facil de entender o procedimento de iteração de um numero para o outro e o procedimento de acumulação.

Se seguir estas ideias o seu codigo sera mais claro no seu propósito :wink:

javax = ?
swing = pacote