Associar valor a uma variável num método e ler no outro

4 respostas
C

Bom dia. Tenho uma variável. Preciso dar um valor a ela num método e ler este valor em outro. Só que quando vou ler ela aparece null. Como eu faço prá este valor sobreviver até outros métodos? Ex:

public class Teste{ private String valor; public void le(){ valor = "teste"; System.out.println(valor); // aqui ela printa o valor: teste } public void printa(){ System.out.println(valor); //aqui ela não printa nada }
Grato, Carlos.

4 Respostas

lucas_montanari

Cara eu fiz um teste aqui e funcionou sim!!!

é claro que tem que chamar o metodo le() primeiro.

Qlq coisa dá um toque aew

P

qual é a ordem de execução do método?

tenho certeza que se vc chamar o método “le” antes do “printa” não vai aparecer null.

publica static void main(String args[]) { Teste t = new Teste(); t.le(); t.printa(); }

abraços.

T
public class teste {    
 	private String valor;
 	
 	public void le(){
		valor = "teste";
		System.out.println(valor); // aqui ela printa o valor: teste
	}
	
	public void printa(){
		System.out.println(valor); //aqui ela não printa nada
	}
    public static void main(String arfgds[]){
    	teste t = new teste();
    	t.le();
    	t.printa();
    	    	
    }
}

Cara você já leu sobre Get e Set se não: [url]http://www.guj.com.br/posts/list/46029.java[/url]

Abraço!

C

Na realidade eu tenho isto, que funciona direitinho:

public class Utils {

    //Calcula a Idade baseado em Stringe. Exemplo: calculaIdade(String dataNasc, String pattern);

    public void calculaIdade(String dataNasc, String pattern){

        DateFormat sdf = new SimpleDateFormat(pattern);

        Date dataNascInput = null;

        try {

            dataNascInput= sdf.parse(dataNasc);

        } catch (Exception e) {}
        

        Calendar dateOfBirth = new GregorianCalendar();

        dateOfBirth.setTime(dataNascInput);
        

        // Cria um objeto calendar com a data atual

        Calendar today = Calendar.getInstance();
        

        // Obtém a idade baseado no ano

        int age = today.get(Calendar.YEAR) - dateOfBirth.get(Calendar.YEAR);
        

        dateOfBirth.add(Calendar.YEAR, age);


        if (today.before(dateOfBirth)) {

            age--;

        }

   }
public class Idade{

public static void main(String[] args){
Utils util = new Utils();
util.calculaIdade("02-02-2000", "dd-MM-yyyy");
}}

Só que eu preciso alterar para receber a data de um jsp. Aí eu recebo a data de nascimento beleza mas na hora de executar o try ele dá erro de variável null. Se puder me ajudar seria ótimo.

public void calculaIdade(Data data){

   pattern = "dd-MM-yyyy"; //pattern declarada como String na classe
    dataNasc = idade.getData();

 DateFormat sdf = new SimpleDateFormat(pattern);

        Date dataNascInput = null;

        try {

            dataNascInput= sdf.parse(dataNasc); //aqui eu não consigo ler a variável - ela aparece como null e gera erro

        } catch (Exception e) {}
        

        Calendar dateOfBirth = new GregorianCalendar();

        dateOfBirth.setTime(dataNascInput);
        

        // Cria um objeto calendar com a data atual

        Calendar today = Calendar.getInstance();
        

        // Obtém a idade baseado no ano

        int age = today.get(Calendar.YEAR) - dateOfBirth.get(Calendar.YEAR);
        

        dateOfBirth.add(Calendar.YEAR, age);


        if (today.before(dateOfBirth)) {

            age--;

        }

   }
Criado 7 de outubro de 2008
Ultima resposta 7 de out. de 2008
Respostas 4
Participantes 4