| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/02/2007 23:58:22
|
Stigmatizado
Entusiasta Java
Membro desde: 20/10/2006 14:16:16
Mensagens: 16
Offline
|
import java.lang.String;
public class MostraIdade{
int idade = 0;
public int calculaIdade(int idade){
int resultado = 2007 - idade;
return resultado;
System.out.println("Sua idade é: " + idade);
}
public static void main(String[] args){
//Teste teste = new Teste();
calculaIdade(args[0]);
}
}
att
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/02/2007 02:14:54
|
jzf
Thread.start()
![[Avatar]](/images/avatar/cdcfb1c07205f7057b0a305eb21e72d5.jpg)
Membro desde: 12/09/2006 13:33:27
Mensagens: 28
Offline
|
A vários erros fiz umas mudanças para funcionar e comentei umas linhas. Há várias outras maneiras e mais elegantes de se fazer um programa como esse mas esse tá bom pra você ver o que tava dando de errado ok?
public class MostraIdade{
//private int idade = 0; Vc coloca como atributo desta classe porém não usa em nenhum momento..
public MostraIdade() {
}
public int calculaIdade(String idade){
int resultado = 2007 - Integer.valueOf(idade);
return resultado;
//System.out.println("Sua idade é: " + idade); erro você tá mandando imprimir depois de retorna o valor. Ele nunca irá imprimir. tente colocar antes do return e vê o que acontece...
}
public static void main(String[] args){
//Instancia a classe
MostraIdade application = new MostraIdade();
int idade = application.calculaIdade(args[0]);
System.out.println("Idade: " + idade);
//calculaIdade(args[0]); O Erro aqui é que você passa uma String, porém o parametro que está definido no método que você fez é um inteiro..você deve transforma a String para um inteiro.
}
}
|
Javier Zambrano Ferreira
O Pateta usa teclado, o Mickey 'mouse' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/02/2007 08:50:54
|
davidhc
JavaEvangelist
Membro desde: 26/07/2006 09:11:47
Mensagens: 359
Offline
|
import java.lang.String;
public class MostraIdade{
int idade = 0;
public static int calculaIdade(int idade){
int resultado = 2007 - idade;
System.out.println("Sua idade é: " + idade);
return resultado;
}
public static void main(String[] args){
//Teste teste = new Teste();
System.out.println(calculaIdade(numeroQualquer));
}
}
Resolvido.
Quando vc vai usar um método dentro de outro método, o método precisa ser do tipo static.
[]'s
|
talvez esteja tão vazio =o |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/02/2007 08:52:48
|
davidpadilha
JavaEvangelist
Membro desde: 27/02/2007 09:35:43
Mensagens: 427
Offline
|
davidhc wrote:
import java.lang.String;
public class MostraIdade{
int idade = 0;
public static int calculaIdade(int idade){
int resultado = 2007 - idade;
System.out.println("Sua idade é: " + idade);
return resultado;
}
public static void main(String[] args){
//Teste teste = new Teste();
System.out.println(calculaIdade(numeroQualquer));
}
}
Resolvido.
Quando vc vai usar um método dentro de outro método, o método precisa ser do tipo static.
[]'s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/02/2007 09:52:22
|
clodoaldoaleixo
JavaEvangelist
![[Avatar]](/images/avatar/e04c14a66e1b274695546dc89e1c20ec.jpg)
Membro desde: 14/11/2006 19:38:46
Mensagens: 371
Offline
|
davidhc wrote:
import java.lang.String;
public class MostraIdade{
int idade = 0;
public static int calculaIdade(int idade){
int resultado = 2007 - idade;
System.out.println("Sua idade é: " + idade);
return resultado;
}
public static void main(String[] args){
//Teste teste = new Teste();
System.out.println(calculaIdade(numeroQualquer));
}
}
Resolvido.
Quando vc vai usar um método dentro de outro método, o método precisa ser do tipo static.
[]'s
Errado.
A palavra reservada "static" é utilizada para definir um atributo ou um método como pertencente a classe e não a um objeto daquela classe, logo não sendo necessário uma instância da classe para se executar o método ou acessar o atributo.
Você pode usar chamar métodos de dentro de métodos sem utilizar static, no caso da duvida do amigo, havia duas interpretações:
1 - Ele esqueceu de instânciar a classe "MostraIdade", pois como estava dentro do método main e o main tava dentro da classe, ele achou que podia chamar o método direto.
2 - Ele realmente queria se utilizar da palavra reservada "static", mas não sabia como.
Além de outros erros que tinham no programa que já foram comentados.
|
É 100% 07? Então senta o dedo nessa porra.... |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/02/2007 10:07:08
|
davidpadilha
JavaEvangelist
Membro desde: 27/02/2007 09:35:43
Mensagens: 427
Offline
|
Dentro de métodos static, vc só pode acessar métodos ou atributos do tipo static e do jeito que ele estava tentando acessar, o método mostraIdade() tinha que ser static.
Ele poderia tb instanciar a classe dele e chamar do jeito:
|
|
|
 |
|
|