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?
GALACTUS
ae galera desculpa, eu esqueci de abrir code e fechar code, por isso saiu zuado a codificação.
M
marcio_gs
Tá errado. Por causa disso:
intn1=2;
GALACTUS
Será que eu tenho que fazer a variável n1 receber zero???
T
thingol
Acho que sim. De onde saiu esse valor 2?
M
marcio_gs
Exato. Afinal os números começam de 0 e não de 2
GALACTUS
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.
GALACTUS
Caramba que ridículo que eu sou hahahaha, facinho facinho o programinha.
Então, eu queria sabe o que é javax e também swing??
peczenyj
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:
inicio=1; // pode ser hard-coded ou fim=100; // vir via parametros, enfim.total=0; // o nosso acumuladornumero=inicio; // iniciowhile(numero<=fim){//condicaototal=total+numero; // acumulando...numero=numero+1; // incremento
}
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 ;-)