Pra que você está usando este: private static String i; ?
Coloca pra imprimir o resultado depois do “for”…
abraços.
xandevieira
Esta quase certo.
A cada iteração vc esta imprimindo, ela deveria ficar fora do laço.
jks1903
Cara, com essa lógica, na primeira iteração, soma valera 1 (0+1), depois 2 (1+1) e assim por diante.
O valor final de soma será 100 (99+1).
Se o exercicio pede para acumular os valores, você deveria fazer algo parecido com isso:
publicclassAtividade3{privatestaticStringi;privatestaticintsoma=0;publicstaticvoidmain(Stringargs[]){for(inti=0;i<100;i++){soma=soma+i;//poderia ser soma += i, mas daquela forma fica mais facil pra compreender no inicio dos estudos. }JOptionPane.showMessageDialog(null,"Somatório:"+soma);//tirar do laço}}
Tenta aí.
*Edit: nao haiva visto os posts anteriores.
D
denisGermano
[email removido:
]ola galera estou aki novamente to fazendo um exercicio que diz:
Apresente uma classe que mostre a soma dos cem primeiros numeros inteiros, entao eu fiz com um for como segue abaixo:
publicclassAtividade3{privatestaticStringi;// aqui você esta declarando i como string, mas não a utilizará nenhuma vezprivatestaticintsoma;// não é necessario ser static mas tudo bempublicstaticvoidmain(Stringargs[]){for(inti=0;i<100;i++){soma=i+1;//essa soma não funcionará pois: na primeira execução somará 0+1=1 blz, na segunda vai redefini-la para 1+1=2//assim continuamente ate que o resultado final será 99+1=100 ou seja, não será a somaJOptionPane.showMessageDialog(null,"Somatório:"+soma);// colocando o JOption... aqui será exibida 100x a caixa de dialogo}}}
mas o resultado tem q da 5050 pois ele vai somar, todos os numero de 1 a 100 (1+2+3…+99+100)
como devo fazer para o resultado ser 5050?
D
denisGermano
e tira o String i
D
denisGermano
para dar 5050 vc tem que somar de 1 à 100
e não de 0 à 99.
basta colocar i <= 100 nor for
jks1903
[email removido:
]mas o resultado tem q da 5050 pois ele vai somar, todos os numero de 1 a 100 (1+2+3…+99+100)
como devo fazer para o resultado ser 5050?
Não tenho como implementar a logica agora para verificar o resultado.
Mas se o resultado final deu diferente, a soma entao não é 5050.
A lógica ali em cima está correta. Irá acumular a soma dos 100 primeiros inteiros(começando em zero).
D
denisGermano
opa, o static que falei foi errado como vc declarou a variavel de classe tem que ser static sim para essa função.
nao seria necessario se tivesse declarado como somente int soma dentro do método main
obrigado a todos, eu axo q ta faltando um pouco de logica na hora de organizar as ideias, qua livro de logica vcs me recomendam? Mas tb axo q devo praticar mais…vlw pela a ajuda o resultado ficou assim:
Coloca como resolvido, caso não tenha mais dúvidas…
D
denisGermano
um bom livro que sempre recomendo é o livro:
Head First - Programming : Ingles
tem ele em portugues tambem, a serie Use a Cabeça
mas normalmente as traduçoes nao sao tao boas.
e tem tambem o curso online de logica no site da softblue www.softblue.com.br
[]'s
R
rsmoraes
[email removido:
]obrigado a todos, eu axo q ta faltando um pouco de logica na hora de organizar as ideias, qua livro de logica vcs me recomendam? Mas tb axo q devo praticar mais…vlw pela a ajuda o resultado ficou assim:
Acredito que treinando exercícios está ótimo amigo, não vejo necessidade para “estudar” lógica, eu recomendo treinar os exercícios que você vai desenvolvendo melhor o seu raciocínio… Quando estiver preparado, já pule para Servlet + JSP… algo do tipo.
M
mamc091
Estou tentando fazer com vetor mais o resultado eh sempre zero.
O que estou errando?
public static void main(String[] args) {
int[] var = new int [100];