Explicação sobre Métodos Estáticos

3 respostas
Rezende

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.

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;
    }
}

e este tbm

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;   
    }   
}

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

3 Respostas

Zeed01

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

C

tente isso…

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

por que voce passou dois booleans como parâmetros?

Rezende

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 !!!

Criado 18 de abril de 2011
Ultima resposta 18 de abr. de 2011
Respostas 3
Participantes 3