| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/05/2006 12:32:22
|
Dcoxas
Smalltalk
![[Avatar]](/images/avatar/5fcb7f9c321885a69a4f91cb553fa04d.png)
Membro desde: 23/05/2006 12:21:40
Mensagens: 2
Offline
|
Comecei a tentar aprender java hoje, e já me deparei com esse erro no programa abaixo.
Alguem pode me ajudar ?
public class mais_erros
{
int primeiraIdade;
int segundaIdade;
public void somaIdades (){
System.out.println("A soma das idades é: " + (primeiraIdade + segundaIdade) );
}
public static void main (String[] args)
{
// Esta chamada de metodo ira imprimir a soma das idades na tela.
somaIdades();
}
}
|
Só sei que nada sei.
E quanto mais estudo mais sei que tenho muito a estudar. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/05/2006 12:37:16
|
thiago.correa
GUJ Master
![[Avatar]](/images/avatar/c37f9e1283cbd4a6edfd778fc8b1c652.jpg)
Membro desde: 26/03/2006 18:54:30
Mensagens: 1853
Offline
|
Dê uma lida nos conceitos de java, isso é que mata muitos programadores iniciantes.
Por exemplo, nome de classes são sempre com a
primeira letra em maiúsculo, no seu exemplo seria MaisErros.
variáveis de classe são sempre são inicializadas com valores padrões, no seu caso primeiraIdade e segundaIdade teriam o valor zero.
O método main, é um método static, e estava chamando um método não static, logo ele precisa acessar de uma maneira statica ( ou cria-se um objeto da sua classe, ou muda-se o metodo somaIdades para static)
Tente o código abaixo que deve funcionar.
|
---
"Se não puder ajudar, atrapalhe, afinal de contas o importante é participar!"
Thiago
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/05/2006 12:55:15
|
Dcoxas
Smalltalk
![[Avatar]](/images/avatar/5fcb7f9c321885a69a4f91cb553fa04d.png)
Membro desde: 23/05/2006 12:21:40
Mensagens: 2
Offline
|
Valeu pela dica Thiago.
Porem continuo sem entender o porque eu estava chamando o metodo como não statico?
|
Só sei que nada sei.
E quanto mais estudo mais sei que tenho muito a estudar. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/05/2006 13:38:07
|
micheljuca
JavaTeenager
![[Avatar]](/images/avatar/1963bd5135521d623f6c29e6b1174975.png)
Membro desde: 11/08/2005 15:20:20
Mensagens: 184
Localização: Brasília - DF
Offline
|
depois da explicacao do cara, merecida de 5*, vc nao merecia mais explicacao mas eu vou tentar...
vc estava chamando de forma static porque vc nao instanciou um objeto dessa classe, para so depois chamar o metodo. Vc ta chamando direto, sem instanciar. Pra corrigir ou vc faz o que te falou ou coloca um static antes do nome do metodo.
|
--
Michel A. Jucá |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/05/2006 15:31:36
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3174
Localização: Rio de Janeiro
Offline
|
Metodo estático (definido com a palavra reservada static)
nome_da_classe.nome_do_método();
Metodo não-estático
INSTÂNCIA_da_classe.nome_do_método();
Agora veja os exemplos:
dentro de metodos:
Boa sorte...
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
|
|