Associar valor a uma variável num método e ler no outro
4 respostas
C
cmendes
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.
é claro que tem que chamar o metodo le() primeiro.
Qlq coisa dá um toque aew
P
palmadias
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
truck1n
publicclassteste{privateStringvalor;publicvoidle(){valor="teste";System.out.println(valor);// aqui ela printa o valor: teste}publicvoidprinta(){System.out.println(valor);//aqui ela não printa nada}publicstaticvoidmain(Stringarfgds[]){testet=newteste();t.le();t.printa();}}
Na realidade eu tenho isto, que funciona direitinho:
publicclassUtils{//Calcula a Idade baseado em Stringe. Exemplo: calculaIdade(String dataNasc, String pattern);publicvoidcalculaIdade(StringdataNasc,Stringpattern){DateFormatsdf=newSimpleDateFormat(pattern);DatedataNascInput=null;try{dataNascInput=sdf.parse(dataNasc);}catch(Exceptione){}CalendardateOfBirth=newGregorianCalendar();dateOfBirth.setTime(dataNascInput);// Cria um objeto calendar com a data atualCalendartoday=Calendar.getInstance();// Obtém a idade baseado no anointage=today.get(Calendar.YEAR)-dateOfBirth.get(Calendar.YEAR);dateOfBirth.add(Calendar.YEAR,age);if(today.before(dateOfBirth)){age--;}}
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.
publicvoidcalculaIdade(Datadata){pattern="dd-MM-yyyy";//pattern declarada como String na classedataNasc=idade.getData();DateFormatsdf=newSimpleDateFormat(pattern);DatedataNascInput=null;try{dataNascInput=sdf.parse(dataNasc);//aqui eu não consigo ler a variável - ela aparece como null e gera erro}catch(Exceptione){}CalendardateOfBirth=newGregorianCalendar();dateOfBirth.setTime(dataNascInput);// Cria um objeto calendar com a data atualCalendartoday=Calendar.getInstance();// Obtém a idade baseado no anointage=today.get(Calendar.YEAR)-dateOfBirth.get(Calendar.YEAR);dateOfBirth.add(Calendar.YEAR,age);if(today.before(dateOfBirth)){age--;}}