Explicação sobre Métodos Estáticos

Amigos, estou iniciando sobre programação em Java, porém Métodos Estáticos esta dificultando, eu avançar de capitulos.

Alguem sabe onde posso encontrar informações de métodos estáticos, um exemplo dos meus codigos que não compilam, onde estou errando ?

A proposta desse codigo abaixo é:

Essa classe possui o método main que deve receber um número inteiro e chamar o método verifica(int) passando o número recebido.
O método public static boolean verifica(int) deve identificar se o número é negativo (retornar false) ou >= 0 (retornar true).
O método principal deve imprimir o valor retornado.

[code]
public class Main {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here

    int numero,situacao;
    boolean positivo, negativo;

    numero = Integer.parseInt(JOptionPane.showInputDialog("Digite o numero"));

    situacao = verifica(numero);
    System.out.println(situacao);
}
    public static boolean verifica(int numero, boolean positivo, boolean negativo)
    {
        if(numero >= 0)
        {
            positivo = true;
        }
        else
        {
            negativo =  false;
        }
        return numero;
}

}[/code]

e este tbm

[code]int numero, fat,fator,fatorial;

    numero = Integer.parseInt(JOptionPane.showInputDialog("Numero"));   
    fat = fatorial(numero);   
    System.out.println(fat);   

}   

public static int fatorial(int numero) {   
    int i, fatorial = 1;   
    for (i = numero; i > 1; i--) {   
        fatorial *= i;   
    }   
    return fatorial;   
}   

}[/code]

Este 2º já achei o resultado com muito tempo e ajuda da galera do fórum !!!
Nos livros do Deitel, e Use a Cabeça!!, não estou achando resolução, estou aguardado explicação, valeu galera !!
Abraços

Boa noite galera !

Olhando rapidamente, seu primeiro exemplo não compila porque o seu metodo verifica esta declarado assim:

public static boolean verifica(int numero, boolean positivo, boolean negativo) 

Ou seja, ele deve receber um inteiro e dois boolean´s e retornar um boolean.

No seu método main você esta passando somente somente um inteiro:

public class Main {  
  
    /** 
     * @param args the command line arguments 
     */  
    public static void main(String[] args) {  
        // TODO code application logic here  
  
        int numero;  
        boolean resultado;
  
        numero = Integer.parseInt(JOptionPane.showInputDialog("Digite o numero"));  
  
  	if (verifica(numero)) 
  		System.out.println("O numero " + numero + " é positivo.");  
  	else
  		System.out.println("O numero " + numero + " é negativo.");  
    }  
	public static boolean verifica(int numero)  
	{  
	    if(numero >= 0)  
	    {  
	        return true;  
	    }  
	    else  
	    {  
	        return false;  
	    }  
    }  
}  

[]s

tente isso…

public static boolean verifica(int numero)  
{
    return numero >= 0;
}

por que voce passou dois booleans como parâmetros?

Então, pensava que devia declarar, positivo e negativo como boolean … mas estou observando que vocês programam de uma maneira mais facil, como viram eu chamava o metódo de outra maneira, não sabia que poderia chama-lo, dentro do IF !!

Valeu galera !!!