Duvida na compilação do programa

Bom dia, galera

a dúvida que tenho é a seguinte.

fiz um programinha para praticar a lógica…que pagasse os numeros pares de 1 a 20 e fizesse a som.

package Pacote3;

public class ProgramaD {
public static void main(String[] args) {
int contador=1;
int num=0;

	while(contador<=20){
		if(contador%2==0)		
		
		System.out.print((num = num + contador) + " ");

		contador++;

	}
}		

}

2 6 12 20 30 42 56 72 90 110

Legal funcionou conforme o esperado.

Agora galera que vem a dúvida.

Desta forma aqui em baixo eu não estaria fazendo da mesma forma?

pq estaria duplicando os numeros???

package Pacote3;

public class ProgramaD {
public static void main(String[] args) {
int contador=1;
int num=0;

	while(contador<=20){
		if(contador%2==0)		
		
			num = num + contador;
			
		System.out.print(num + " ");

		contador++;

	}
}		

}

0 2 2 6 6 12 12 20 20 30 30 42 42 56 56 72 72 90 90 110

Bom galera pode até parecer idiota a pregunta mais ja olhei esse código um monte de vez e não consegui descobri oq é…

caso alguem consiga me ajudar agradeço…

Obrigado

[quote=Rotiv]Bom dia, galera

a dúvida que tenho é a seguinte.

fiz um programinha para praticar a lógica…que pagasse os numeros pares de 1 a 20 e fizesse a som.

package Pacote3;

public class ProgramaD {
public static void main(String[] args) {
int contador=1;
int num=0;

	while(contador<=20){
		if(contador%2==0)		
		
		System.out.print((num = num + contador) + " ");

		contador++;

	}
}		

}

2 6 12 20 30 42 56 72 90 110

Legal funcionou conforme o esperado.

Agora galera que vem a dúvida.

Desta forma aqui em baixo eu não estaria fazendo da mesma forma?

pq estaria duplicando os numeros???

package Pacote3;

public class ProgramaD {
public static void main(String[] args) {
int contador=1;
int num=0;

	while(contador<=20){
		if(contador%2==0)		
		
			num = num + contador;
			
		System.out.print(num + " ");

		contador++;

	}
}		

}

0 2 2 6 6 12 12 20 20 30 30 42 42 56 56 72 72 90 90 110

Bom galera pode até parecer idiota a pregunta mais ja olhei esse código um monte de vez e não consegui descobri oq é…

caso alguem consiga me ajudar agradeço…

Obrigado[/quote]
Qndo vc omite a chaves de um if, else, while etc…
o corpo pertencente a condição será apenas a proxima linha.
Como vc colocou a operação dentro do seu system.ou no primeiro exemplo, então tanto a sua operação de soma e o print fazem parte do seu if.
No segundo exemplo apenas aa sua operação de soma é pertencente ao if.
O print não está presente no if.

Com o código fica mais claro:

[code]
if(contador%2==0)

			num = num + contador;
			
		System.out.print(num + " ");

if(contador%2==0){

			num = num + contador;
			
		System.out.print(num + " ");

}[/code]

só uma coisa, posta seus códigos entre a tag code do editor do guj.
abs

Oi,

Coloque seu código entre as tags code,vai em editar para arrumar… :wink:

No segundo vc criou um acumulador (num=num+contador)

Por que vc coloca (contador%2) , nunca vi isso… :roll: :oops:

yoshikichi

Obrigado, deu certo, pode deixar a proxima duvida vou mandar o codigo formatado.

Anime

quando colocamos o “%” é q queremos saber o resto de uma divisão.

no caso do meu programa eu queria saber se o numero era par ou Impar.

Obrigado pela dica

[quote=Rotiv]yoshikichi

Obrigado, deu certo, pode deixar a proxima duvida vou mandar o codigo formatado.

Anime

quando colocamos o “%” é q queremos saber o resto de uma divisão.

no caso do meu programa eu queria saber se o numero era par ou Impar.

Obrigado pela dica[/quote]

ah sim,é que nunca utilizei dessa forma… :wink:

Por nada…Obrigada,pela informação… :stuck_out_tongue: