Problemas com laço "FOR"

10 respostas
W

Galera gostaria de parar o laço for pois ele esta infinito como faço…

import javax.swing.*;

public class Exercicio0002{

public static void main(String args[]){

String aux;
int n1=0, n2=0;

n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite 1º numero"));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Digite 2º numero"));

int cont=n1;
int soma=0;

while(n1 <= n2){

for(int x=0; cont <= n2; cont++){

soma += cont;

}

System.out.println(soma);

}

}

}

:?:

10 Respostas

rmendes08

A condição do laço é n1 <= n2, como n1 nunca muda dentro do laço, uma vez que entra ele nunca sai.

D

é só vc colocar dentro do while o incremento de “n1”

C

ta ai ó

while(n1 <= n2){

for(int x=0; cont <= n2; cont++){

	soma += cont;
	}
	System.out.println(soma);
	n1++;
	}

só colocar o n1++

C

Outra coisa, vc criou uma variavel ‘x’ no for, porém como vc não está utilizando este ‘x’ para fazer o loop, não é necessário a criação do msmo. Basta respeitar a estrutura do for.

for(int x=0; cont <= n2; cont++){

soma += cont;
}

depois:
for(;cont <= n2; cont++){

soma += cont;
}

flw abc…

W

O que acontece, tenho que pegar o valor de n1 e o valor de n2 e somar todos os numeros entre esses intervalos inclusive os proprios numero que foram digitados,
EX.
entrada n1 = 1 e n2 = 5.
ressultado = 15.
aonde calcula-se
1+2+3+4+5=15

depois disso volto para o laço até que o n1 seja maior que n2.

D

williamvpaiva:
O que acontece, tenho que pegar o valor de n1 e o valor de n2 e somar todos os numeros entre esses intervalos inclusive os proprios numero que foram digitados,
EX.
entrada n1 = 1 e n2 = 5.
ressultado = 15.
aonde calcula-se
1+2+3+4+5=15

depois disso volto para o laço até que o n1 seja maior que n2.

Então vc tem que atribuir após o FOR, o valor da soma a “n1”, caso contrario ficará no laço…

MarcioCasteloBranco

Vc tem que definir um incremento para sua iteração no while acionar booleano falso, e na iteração do for não tem incremento vc declara i porem incrementa n2 , so n2 so será o teste booleano!!
vlw

userguj
O que acontece, tenho que pegar o valor de n1 e o valor de n2 e somar todos os numeros entre esses intervalos inclusive os proprios numero que foram digitados, EX. entrada n1 = 1 e n2 = 5. ressultado = 15. aonde calcula-se 1+2+3+4+5=15

depois disso volto para o laço até que o n1 seja maior que n2.

Cara, tem outro detalhe. Vc deve colocar a instrução que vai exibir o valor da soma dos numeros fora do [color=blue]while[/color] para que seja exibido somente a soma dos numeros.
Obs.: utilizei a exibição em linha d comando!

while(n1 <= n2){ // inicia o while

			for(; cont <= n2; cont++){

				soma += cont;
			}
			n1++;
			} // fim do while
		System.out.println(soma);

Pratique Saudaveis Atitudes

W

Galera a duvida e o seguinte, inicialmente recevo 2 numeros o n1 e o n2 tenho que somar todos os valores entres os dois numeros inseridos até ai tudo Ok, so que ele esta saindo do laço antes da condição que e a seguinte enquando o usuario inserir n1 menor que n2 soma-se todos os intervalos entre eles exemplo
n1 = 1
n2 = 5
resultado = 1+2+3+4+5=15

tendo esse resultado voltaria para o laço e refaz o mesmo processo e mostra o resultado também até que N1 seja maior que N2, alguem poderia me ajudar?

import javax.swing.*;

public class Exercicio0002{

public static void main(String args[]){

String aux;
int n1=0, n2=0;

n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite 1º numero"));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Digite 2º numero"));

int cont=n1;
int soma=0;

while(n1 <= n2){

for(;cont <= n2; cont++){

soma += cont;

}
n1++;

}System.out.println(soma);

}

}
userguj

williamvpaiva: você ta querendo exibir somente a soma entre essses números certo ??
então se o laço for ser executado até n1 > n2, ae jáh não será só a soma entre n1 e n2.

espero ter ajudado. to no começo tbm !

Criado 29 de outubro de 2009
Ultima resposta 30 de out. de 2009
Respostas 10
Participantes 6