lógica para descobrir se um numero é par ou impar

5 respostas
P

Boa noite,

Sou iniciante e estou na duvida de como saber se um numero qualquer é par ou é impar no Java.

Tambem estou tentando descobrir como eu faço para somar somente os numeros impares e da o valor, e somar somente os numeros pares e da um valor de um determinada lista.

Alguem pode me ajudar de como fazer essa lógica?

Obs: Pela matematica se um numero for divisivel por 2 e resultar em um numero inteiro esse numero é um numero PAR, caso contrario é impar.

Agora eu não sei como passo pro Java isso ;(

5 Respostas

L
int numero = 3;
      if((numero  % 2) == 0)  
         System.out.println("par");
      else 
         System.out.println("impar");
P

Não é bem preciso mas é mais ou menos isto

int par = 0;

int impar = 0;

for (int i=0; i < lista.length; i++)

{

if ( lista[i] % 2 == 0)

{

par = par + lista[i];

}

else

{

impar = impar + lista[i];

}

}

System.out.println("impar = " + impar);
System.out.println("par = " + par);

mais ou menos isso, como vc não detalhou muito o que vc queria acho que isso atende, não esqueça de colocar dentro de um static void main(args []).

F

Cara, se não me ingano..... usa "%"

tipo:

...
int numPar = 8;
int numImpar = 7;

int resultadoUm = numPar % 2; //resultado = 0

if(resultado == 0) System.out.println("Numero par");

int resultadoUm = numImpar % 2; //resultado = 0

if(resultado == 1) System.out.println("Numero impar");

Certo!!!

Acho que é assim...

E
public class ParImpar
{
	// Método que retorna true se numero for par, e false caso contrário.
	public static boolean ePar(int numero)
	{
		if(numero % 2 == 0)
		   return true;
		else
		   return false;
	}
	
	// Método que retorna o somatório dos números pares de 0 até numeros.
	public static int somaPar(int numeros)
	{
		int soma = 0;
		
		for(int c = 0; c <= numeros; c++)
		   if(ePar(c))
		      soma += c;
		
		return soma;
	}
	
	public static void main(String args[])
	{
		System.out.printf("Soma: %d.\n", somaPar(10));
	}
}

A saída gerada por este programa será 30, que é igual a 0 + 2 + 4 + 6 + 8 + 10.

P

Valeu galera, consegui fazer, porem acho que está um pouco fora dos padrões do Java, mais aos poucos eu pego o jeito :)

Abaixo segue o código:

import javax.swing.JOptionPane;

public class SomaParEImpar {
	
	private static int x[] = new int[11];
	private static int par[]=new int[11];
	private static int impar[]=new int[11];
	private static String par1 = "par";
	private static String impar1 = "impar";
	private static String nulo = "nulo";
	private static String parOuImpar[] = new String[11];
	private static int resto;
	private static int i;
	private static int qtdePar;
	private static int qtdeImpar;
	private static int somaPar;
	private static int somaImpar;
	
	public static SomaParEImpar operacao(){
		for(i=1;i<=10;i++){
			x[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite o "+i+"o numero:"));
			resto = x[i] % 2;
			
			if ( resto == 0 && x[i] == 0){
				parOuImpar[i] = nulo;
			}
		
			if ( resto == 0 && x[i] != 0){
				parOuImpar[i] = par1;
				par[i] = x[i];
				qtdePar++;
				somaPar+=x[i];
				
				}
			if( resto > 0){
				parOuImpar[i] = impar1;
				impar[i] = x[i];
				qtdeImpar++;
				somaImpar+=x[i];
				}	
		}
		
	return null;
	}
	
	public static void print(){
		JOptionPane.showMessageDialog(null,"Resultado:\n---------------------------------------------  \nOs 10 numeros digitados foram:\n\n"
				+x[1]+parOuImpar[1]+", "+x[2]+parOuImpar[2]+", "+x[3]+parOuImpar[3]+", "+x[4]+parOuImpar[4]+", "+x[5]+parOuImpar[5]+", \n"
				+x[6]+parOuImpar[6]+", "+x[7]+parOuImpar[7]+", "+x[8]+parOuImpar[8]+", "+x[9]+parOuImpar[9]+", "+x[10]+parOuImpar[10]+"\n\n"
			    +"Você digitou: "+qtdePar+" numeros pares e "+qtdeImpar+" numeros impares\n\n"
			    +"A soma dos numeros pares é: "+somaPar+"\n"
			    +"A soma dos numeros impares é: "+somaImpar);   
	
	}
}
Criado 16 de novembro de 2006
Ultima resposta 19 de nov. de 2006
Respostas 5
Participantes 5