Mostra Idade pq não func, help pls  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
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
    jzf
    Thread.start()
    [Avatar]

    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'
    [WWW]
    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
    [Email]
    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
    clodoaldoaleixo
    JavaEvangelist
    [Avatar]

    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....
    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:



     
    Índice dos Fóruns » Java Básico
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team