Duvida!

8 respostas
M

preciso fazer um programa para inserir cinco numeros e imprimir quantos numeros são negativos, positivos e zeros foram inseridos; quantos if’s terei de usar??

ja começei a montá-lo:

import java.util.Scanner;

public class Ex232

{

public static void main( String args[] )

{

Scanner input = new Scanner( System.in );
int n1, n2, n3, n4, n5; 

  System.out.print( "\nDigite cinco numeros: \n"); 
  n1 = input.nextInt(); 
  n2 = input.nextInt(); 
  n3 = input.nextInt(); 
  n4 = input.nextInt(); 
  n5 = input.nextInt(); 

  if (n1 > 0) 
     System.out.println( "\nHa 1 numero positivo\n" ); 

  if ((n1 > 0) && (n2 > 0)) 
     System.out.println( "\nHa 2 numeros positivos\n" ); 

  if ((n1 > 0) && (n2 > 0) && (n3 > 0)) 
     System.out.println( "\nHa 3 numeros positivos\n" ); 

  if ((n1 > 0) && (n2 > 0) && (n3 > 0) && (n4 > 0)) 
     System.out.println( "\nHa 4 numeros positivos\n" ); 

  if ((n1 > 0) && (n2 > 0) && (n3 > 0) && (n4 > 0) && (n5 > 0)) 
     System.out.println( "\nHa 5 numeros positivos\n" );

}

}

8 Respostas

Proteu_Alcebidiano

Voce pode usar um array de inteiros, fica mais facil pra iterar:

int maior = 0, menor = 0, igual = 0;
int[] a = new int[5];
//le os valores e colocar em a. Depois:
for(i=0; i< 5; i++) {
 if (a[i] > 0)
   maior++;
 if (a[i] < 0)
  menor++;
 if(a[i] == 0)
  igual++;
} 
// imprime os valores de maior, menor e igual

:wink:
T+

M

ah entaum, eu ainda naum estudei sobre arrays, creio q fique mais fácil pra entender…
só q num consegui entender o código… :frowning:

Proteu_Alcebidiano

mando82:
ah entaum, eu ainda naum estudei sobre arrays, creio q fique mais fácil pra entender…
só q num consegui entender o código… :(

desculpa, o codigo tá errado em menor–;

é menor++ vou editar lá agora.

quanto a arrays em java, ve aqui

t+

M

import java.util.Scanner;

public class Ex232

{

public static void main( String args[] )

{

Scanner input = new Scanner( System.in );
//int n1, n2, n3, n4, n5;

int maior = 0, menor = 0, igual = 0;
int[] a = new int[5];

System.out.println( "Digite cinco numeros: ");
a[i] = input.nextInt();

//le os valores e colocar em a. Depois:
for(i=0; i< 5; i++) {
	if (a[i] > 0)
	{
			maior++;
		System.out.printf( "\nHa %d numeros positivo(s)\n", maior ); 
	}
	if (a[i] < 0)
	{
		menor++;
		System.out.printf( "\nHa %d numeros negativo(s)\n", menor ); 
	}
	if(a[i] == 0)
	{	
		igual++;
		System.out.printf( "\nHa %d numeros zero(s)\n", igual ); 
	}

} 
	 // imprime os valores de maior, menor e igual



}

}


não funciona!!

Proteu_Alcebidiano
System.out.println( "Digite cinco numeros: ");
	a[i] = input.nextInt();

tem que fazer um laço for para ler tambem :slight_smile:

for(i = 0; i < 5; i++)
	a[i] = input.nextInt();
M

entaum, eu testei so que não funcionou como eu queria:
preciso que o usuario digite os cinco numeros primeiro e depois o programa imprima quantos numeros negativos, positivos e zeros.

Proteu_Alcebidiano

faz o for primeiro, e depois que acabar o loop manda imprimir.

M

obrigado, já testei e funcionou!!
:slight_smile:

Criado 23 de dezembro de 2006
Ultima resposta 23 de dez. de 2006
Respostas 8
Participantes 2