JSP and return java age

Asked

Viewed 161 times

-1

How to calculate age, I don’t know how to do in JSP and how to calculate with Java class method

Java age.

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
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;
    private Date dataAtual;  

    public int getIdade(Date nascimento) throws ParseException {
        GregorianCalendar dataAtual = new GregorianCalendar();
        int diaAtual = dataAtual.get(Calendar.DAY_OF_MONTH);
        int mesAtual = dataAtual.get(Calendar.MONTH);
        int anoAtual = dataAtual.get(Calendar.YEAR);
        int diaUsuario = nascimento.getDay();
        int mesUsuario = nascimento.getMonth();
        int anoUsuario = nascimento.getYear(); 
        //idade = dataAtual - nascimento;  
        if (mesAtual < nascimento.getMonth()) {  
            idade--;  
        } else if (mesAtual == nascimento.getMonth()) {  
            if (diaAtual < nascimento.getDay()) {  
                idade--;  
            }  
        }  
        return idade;  
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }
}

jsp file cadastraconvidado.jsp

<tr>
                <td>Data de Nascimento:</td>
                <td><input type="date" name="dataNascimento"/></td>
            </tr>
            <tr>
            <%
            Date nascimento= new Date(request.getParameter("dataNascimento"));
            Idade idade = new Idade().getIdade(nascimento);
            %>
                <td>Idade:</td>
                <td><input type="text" name="idade" value="" disable maxlength="3" size="1" value=<%=idade.getIdade()%>/></td>
            </tr>

I am reporting on a date of birth field for old box return age.

  • The very end of your question needs to be reformatted.

  • How could they do in this case, where there is an input date of birth, access the class Age.java? How could I do it?

  • I will try to reformulate the method that makes the calculation and then make the return in getIdade() to the value

  • I made a change but you’re in error:

1 answer

0

I said again: But I’m not sure if it’s right:

package br.com.pesquisamercado.modelo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
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;
    private Date dataAtual;

    public int getIdade()  {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public int idade(Date dataNascimento) throws ParseException {
        GregorianCalendar dataAtual = new GregorianCalendar();
        int diaAtual = dataAtual.get(Calendar.DAY_OF_MONTH);
        int mesAtual = dataAtual.get(Calendar.MONTH);
        int anoAtual = dataAtual.get(Calendar.YEAR);
        int diaUsuario = dataNascimento.getDay();
        int mesUsuario = dataNascimento.getMonth();
        int anoUsuario = dataNascimento.getYear();
        if (mesAtual < dataNascimento.getMonth()) {
            idade--;
        } else if (mesAtual == dataNascimento.getMonth()) {
            if (diaAtual < dataNascimento.getDay()) {
                idade--;
            }
        }

        int nascimento1 = Integer.parseInt(nascimento.format(nascimento));
        return anoAtual - nascimento1;
    }
}
//Porém o JSP está com erro
<%
        Date nascimento= new Date(request.getParameter("dataNascimento"));
        Idade idade = new Idade().idade(nascimento); // Mensagem de erro: Type mismatch: cannot convert from int to idade
        %>
            <td>Idade:</td>
            <td><input type="text" name="idade" value="" disable maxlength="3" size="1" value=<%=idade.getIdade()%>/></td> 
        </tr>
        <tr>
  • There’d be someone to help me?

Browser other questions tagged

You are not signed in. Login or sign up in order to post.