Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Variável que recebe retorno de String de outra classe

Vejam o código que fiz na última atividade da aula 4:

int dia;
int mes;
int ano;


String getFormatada(){

    String dia = Integer.toString(this.dia);
    String mes = Integer.toString(this.mes);
    String ano = Integer.toString(this.ano);

    return (dia+"/"+mes+"/"+ano);


    }    


}




class Cadastro{

    String dataCadastro;

    Data dt = new Data();

    //dataCadastro = dt.getFormatada();



    void mostra(){

        //System.out.println("Data de cadastro: "+this.dataCadastro);
        System.out.println("Data de cadastro: "+dt.getFormatada());


    }





}




class Teste{

    public static void main(String[] args){

        System.out.println("Vazio"); 

        Cadastro eu = new Cadastro();
        eu.dt.dia=12;
        eu.dt.mes=12;
        eu.dt.ano=15;

        eu.mostra();


    }

}

Vejam que comentei duas linhas. Elas não permitem a compilação. Meu objetivo era abreviar o uso das classes em main, para que a variável recebesse o retorno de função de outra classe. Fiz algo errado?

3 respostas

Lucas,

a solução simples é colocar a linha dentro do método mostra()

class Cadastro {

    String dataCadastro;
    Data dt = new Data();

    void mostra() {
        dataCadastro = dt.getFormatada();
        System.out.println("Data de cadastro: "+this.dataCadastro);
        System.out.println("Data de cadastro: " + dt.getFormatada());
    }

}

A explicação disso é que, fora de método, não se pode atribuir valor à uma variável, exceto no momento de sua declaração.

Obrigado, cara. Ainda boio nessa coisa de POO. Peguei c++ por Deitel (pesadão) mas com muito pouco poo. Fui até ponteiro, mas na hora que aprofundaria poo preferi mudar pra Java. Oq vc considera melhor pra entender esses detalhes do Java? A carreira de Java ou a de certificação?

solução!

Ambas são muito boas. Esse tipo de detalhe você vai se acostumar com a prática. Não desanime. Continue e você vai treinando o olho para entender o que o código está fazendo. Bons estudos.