Entendi
Talvez eu tenha que estudar mais…Darlan…também tenha esse quesito também
Essa área vai exigir que você sempre esteja estudando.
Todo dia aparecem 1000 novas tecnologias para serem usadas. Alguma delas vai ser o foco em algum momento.
Compreendi.
Eu consegui ajustar o método sendo que agora a model está OK.
package br.com.pesquisamercado.modelo;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Month;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.TemporalAccessor;
import java.time.temporal.TemporalQuery;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Scanner;
public class Idade {
private int idade;
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public int calcularIdade(Date dataNascimento) {
GregorianCalendar dataHoje = new GregorianCalendar();
int diaAtual = 0, mesAtual = 0, anoAtual = 0;
diaAtual = dataHoje.get(Calendar.DAY_OF_MONTH);
mesAtual = dataHoje.get(Calendar.MONTH) + 1;
anoAtual = dataHoje.get(Calendar.YEAR);
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
String dtNasc = formatador.format(dataNascimento);
String diaNasc = dtNasc.substring(0, 2);
String mesNasc = dtNasc.substring(3, 5);
String anoNasc = dtNasc.substring(6, 10);
int diaNascimento = Integer.parseInt(diaNasc);
int mesNascimento = Integer.parseInt(mesNasc);
int anoNascimento = Integer.parseInt(anoNasc);
idade = anoAtual - anoNascimento;
if(mesAtual != mesNascimento) {
if(mesAtual < mesNascimento) {
idade--;
return idade;
}
}
else {
return idade;
}
return idade;
}
}
No formulário que tem um campo chamado idade como você me mostrou precisa retornar nesse campo desabilitado a idade da pessoa.
Qual o erro que aparece?
Quando inicio aparece essa mensagem de erro:
5:
96: <%
97: Date nascimento= new Date(request.getParameter(“dataNascimento”));
98: int idader = new Idade().calcularIdade(nascimento);
99: %>
100:
Stacktrace:] with root cause
java.lang.IllegalArgumentException
at java.util.Date.parse(Date.java:617)
at java.util.Date.(Date.java:274)
at org.apache.jsp.cadastraconvidado_jsp._jspService(cadastraconvidado_jsp.java:162)
Acho que consegui resolver, porém com Javascript.
Porém é uma solução bem melhor