Verifica números negativos

Grande comunidade,

Preciso separar em um vetor de inteiros os números que são positivos e negativos…o algoritmo ja ta pronto, mas queria saber se existe algum método que retorna se o número é negativo.

Obrigado

naum sei se eu vou t ajudar mas se vc pegar uma variavel e colocar um - na frente deixará o número negativo

exemplo:

int[][] matriz = new int[1][1];
matriz[0][0] = 1;
-matriz[0][0];

isso retornará - 1

[quote=barijava]Grande comunidade,

Preciso separar em um vetor de inteiros os números que são positivos e negativos…o algoritmo ja ta pronto, mas queria saber se existe algum método que retorna se o número é negativo.

Obrigado[/quote]

Sai mais barato para o processamento a comparação simples. Mas podes usar o método compare ,que existe em bastante classes numéricas.

Até!

E aí pessoal,

Hoje com mais tempo resolvi o problema de verificar se o número é negativo ou não, abaixo segue o código.

import javax.swing.JOptionPane;
import java.util.Random;

public class vetor
{
//declaração de variáveis privadas da classe
private int vetor_1[] = new int[8];
private int vetor_2[] = new int[8];
private int vetor_3[] = new int[8];

//método construtor que gera um vetor com números aleatórios
public vetor()
{
	Random gera = new Random();
	
	for(int i=0;i<=7;i++)
	{
		vetor_1[i] = gera.nextInt();
		vetor_2[i] = 0;
		vetor_3[i] = 0;			
	}
}

//método que separa o vetor original em vetores de números pares e impares
public void separa()
{
	int pos_p=0, pos_i=0;
	float sinal;
	
	for(int i=0;i<=7;i++)
	{
		sinal = Math.signum(vetor_1[i]);
		
		if(sinal == 1.0)
		{
			vetor_2[pos_p] = vetor_1[i];
			pos_p++;
		}
		
		else
		{
			vetor_3[pos_i] = vetor_1[i];
			pos_i++;
		} 			
	}
}

//método que exibe o vetor original e os vetores resultantes
public void mostra()
{
	String vetor_origem="", vetor_par="", vetor_impar="";
	
	for(int i=0;i<=7;i++)
	{
	    if(i==7)
	    {
	    	vetor_origem += vetor_1[i]+". ";
	        vetor_par +=  vetor_2[i]+". ";
	        vetor_impar += vetor_3[i]+". ";
	    }
	    
	    else
	    {
	    	vetor_origem += vetor_1[i]+", ";
	        vetor_par += vetor_2[i]+", ";
	        vetor_impar += vetor_3[i]+", ";		    	
	    }
	    	    	    		  
	}	
	
	JOptionPane.showMessageDialog(null,("Vetor original: "+vetor_origem+"\nVetor dos numeros pares: "+vetor_par+"\nVetor dos numeros impares: "+vetor_impar));
}	

}

class index
{
public static void main(String[] args)
{
vetor teste = new vetor();
teste.separa();
teste.mostra();
System.exit(0);
}
}

Abraço a todos.

Acho que assim é mais simples, só não sei se é o que você procurava.

[code]import java.util.Random;
public class vetor {
public static void main(String[] args){
// Define o vetor
int v1[] = new int[8];
// Cria uma variável String com valor nulo
String mensagem = “”;
// Cria uma variável Random para gerar os números do vetor
Random gera = new Random();
// Preenche o vetor com os valores gerados
for(int i = 0; i &lt 7; i++)
{
v1[i] = gera.nextInt();
// Verifica se é par ou ímpar
if(v1[i]%2==0)
mensagem += “v[”+i+"] = “+v1[i]+” ==&gt PAR\n";
else
mensagem += “v[”+i+"] = “+v1[i]+” ==&gt IMPAR\n";
}
// Exibe o resultado
System.out.println(mensagem);

}

}[/code]

Entaum Taurus me desculpe, eu na verdade errei nos comentários e declaracao de variáveis dos métodos, ao invés de números pares e ímpares o certo é positivos e negativos, abaixo segue o código com os comentários e variáveis corretos. O algoritmo contrói um vetor de inteiros com oito posições com numeros gerados aleatoriamente, os numeros positivos e negativos do vetor são separados em outros dois vetores de 8 posições.

import javax.swing.JOptionPane;
import java.util.Random;

public class vetor
{
//declaração de variáveis protegidas da classe
private int vetor_1[] = new int[8];
private int vetor_2[] = new int[8];
private int vetor_3[] = new int[8];

//método construtor que gera um vetor com números aleatórios
public vetor()
{
	Random gera = new Random();
	
	for(int i=0;i<=7;i++)
	{
		vetor_1[i] = gera.nextInt();
		vetor_2[i] = 0;
		vetor_3[i] = 0;			
	}
}

//método que separa o vetor original em vetores de números positivos e negativos
public void separa()
{
	int pos_p=0, pos_i=0;
	float sinal;
	
	for(int i=0;i<=7;i++)
	{
		sinal = Math.signum(vetor_1[i]);
		
		if(sinal == 1.0)
		{
			vetor_2[pos_p] = vetor_1[i];
			pos_p++;
		}
		
		else
		{
			vetor_3[pos_i] = vetor_1[i];
			pos_i++;
		} 			
	}
}

//método que exibe o vetor original e os vetores resultantes
public void mostra()
{
	String vetor_origem="", vetor_pos="", vetor_neg="";
	
	for(int i=0;i<=7;i++)
	{
	    if(i==7)
	    {
	    	vetor_origem += vetor_1[i]+". ";
	        vetor_pos +=  vetor_2[i]+". ";
	        vetor_neg += vetor_3[i]+". ";
	    }
	    
	    else
	    {
	    	vetor_origem += vetor_1[i]+", ";
	        vetor_pos += vetor_2[i]+", ";
	        vetor_neg += vetor_3[i]+", ";		    	
	    }
	    	    	    		  
	}	
	
	JOptionPane.showMessageDialog(null,("Vetor original: "+vetor_origem+"\nVetor dos numeros positivos: "+vetor_pos+"\nVetor dos numeros negativos: "+vetor_neg));
}	

}

class index
{
public static void main(String[] args)
{
vetor teste = new vetor();
teste.separa();
teste.mostra();
System.exit(0);
}
}

barijava, você poderia me explicar o que o Math.signum faz?

Sou novo em Java e no Fórum, gostaria de entender melhor o que isso faz… ^^

para saber se o numero é negativo você pode simplesmente fazer:

int numero = ...

if(numero < 0){
  // negativo...
}
else{
  // positivo...
}

Muito boa essa analise…
Bem mais simples… ^^