Erro na criação de um simples método[RESOLVIDO]

porque o eclipse acusa erro na criação deste método?

[code]package teste.prova;

public class Teste02 {

public static void main(String[] args) {
	
	String nome;
	int num;

	public void maiorNumero(){

	}

}

}
[/code]

Oi,

Porque você está criando ele dentro do main?!

Tchauzin!

[quote=lina]Oi,

Porque você está criando ele dentro do main?!

Tchauzin![/quote]

Tem razão, vc está certíssima, mas me explica pq dá erro criando dentro do main? e fora não…

Leia a apostila da FJ11 - http://www.caelum.com.br/apostilas/
Ela explica certinho como e porque certas das coisas basicas do java em geral!
(Fora que ela é bastante maneira no quesito OO).

Me ajudou bastante!

[quote=minibixo]Leia a apostila da FJ11 - http://www.caelum.com.br/apostilas/
Ela explica certinho como e porque certas das coisas basicas do java em geral!
(Fora que ela é bastante maneira no quesito OO).

Me ajudou bastante![/quote]

VALEU AMIGOS NÉRDS…

Java é filho do C++, não do Pascal.

Em Pascal é possível escrever um método dentro de outro (e é por isso que os processadores da Intel até hoje têm uma instrução “ENTER” e outra “LEAVE” que serve exatamente para dar suporte a métodos que são escritos dentro de outros métodos.

http://css.csail.mit.edu/6.858/2011/readings/i386/ENTER.htm
http://css.csail.mit.edu/6.858/2010/readings/i386/LEAVE.htm

Escrever um método dentro do outro em Pascal é feito para poder usar variáveis locais do método externo dentro do método interno.

Mas em C++, Java, etc. isso não é possível. (Aham, em Java é possível escrever uma declaração de classe anônima (e por conseguinte um método) dentro de um outro método) mas isso não é feito desse jeito que você tentou fazer).

Tentei colocar static mas não deu certo.
Mas eu já vi declaração desta forma dentro do método main funcionando beleza…
Muito estranho…

[code]package teste.prova;

public class Teste02 {

   static String nome;  
   static int num;   

public static void main(String[] args) {  
      

    public static void maiorNumero(){                    // erro no método ???????????????
  
    }  

}  

} [/code]

Crie o metodo fora do main e coloque um ‘NOMEDOMETODO();’ dentro do main, vai funcionar …

Oi,

A forma correta de fazer o que você quer é:

[code]public class Teste02 {

public Teste02() {
	
	maiorNumero();
}

private void maiorNumero() {
	
	System.out.println("O maior número é: ");
}

public static void main(String[] args) {
	new Teste02();
}

}[/code]

Ou então, você pode optar por criar o método maiorNumero() estático para conseguir chama-lo direto do main.

[code]public class Teste02 {

private static void maiorNumero() {
	
	System.out.println("O maior número é: ");
}

public static void main(String[] args) {
	maiorNumero();
}

}[/code]

Tchauzin!

Ou você faz como a lina fez!

[quote=lina]Oi,

A forma correta de fazer o que você quer é:

[code]public class Teste02 {

public Teste02() {
	
	maiorNumero();
}

private void maiorNumero() {
	
	System.out.println("O maior número é: ");
}

public static void main(String[] args) {
	new Teste02();
}

}[/code]

Ou então, você pode optar por criar o método maiorNumero() estático para conseguir chama-lo direto do main.

[code]public class Teste02 {

private static void maiorNumero() {
	
	System.out.println("O maior número é: ");
}

public static void main(String[] args) {
	maiorNumero();
}

}[/code]

Tchauzin![/quote]

Lina beijão, vc é a cara!!

deus certo.

O motivo de mim não ter feito assim antes é que o cabeção do meu professor faz da forma que postei o primeiro codigo, pensei que teria que usar get e set por causa do private. Inda bem que não.

Ele declara:

A classe
método main
variaveis
metodos…

o cara faz bruxaria só pode, quando eu vou tentar não sai, só sai na mão dele…

mas valeu o auxilio. Obrigado!

EDITADO: Otimo, entao edite o topico e coloque a tag [RESOLVIDO] =]

Oi,

Apenas um detalhe. Encapsulamento server para proteger os atributos e métodos de uma classe. Existem 4 tipos de “proteção”: private, protected, public e default.

Se o seu atributo estiver PRIVADO e você precisar acessa-lo e modifica-lo de fora (de uma outra classe), utiliza-se os métodos set e get. Caso contrário, não é necessário. Isso quer dizer que: Evite criar SET e GET para tudo e todos os seus atributos, apenas para os que se fazem necessários.

Fica a dica.

Tchauzin!