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