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.
Cara eu fiz um teste aqui e funcionou sim!!!
é claro que tem que chamar o metodo le() primeiro.
Qlq coisa dá um toque aew
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.
[code]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();
}
}[/code]
Cara você já leu sobre Get e Set se não: http://www.guj.com.br/posts/list/46029.java
Abraço!
Na realidade eu tenho isto, que funciona direitinho:
[code]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--;
}
}[/code]
[code]public class Idade{
public static void main(String[] args){
Utils util = new Utils();
util.calculaIdade(“02-02-2000”, “dd-MM-yyyy”);
}}[/code]
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.
[code]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--;
}
}[/code]