Servlet com calculo de idade Ajudem por favor

2 respostas
M

pessoal boa tarde, fiz uma classe para calcular idade até ai tudo bem!!funcionou direitinho, dai precisei passar o codigo apra dentro de um servlet…Devo estar fazendo uma tremenda besteira pois não estou conseguindo… :oops: Mas uma vez vou precisar da ajuda de vcs…este servlet recebe informações de uma pagina html e faz o calculo entretanto eu não to conseguindo compilar e não sei onde pode estar o erro ja revi o codigo varias vezes.

Segue os codigos para que os amigos me ajudem, por favor…
Depois de calculada a idade ele tem de retornar um valor para variavel age na classe Candidato
Esta classe da dando erro:

import java.io.*;
     import javax.servlet.*;
     import javax.servlet.http.*;
     import java.util.*;
 
     public class Cadastra extends HttpServlet{
         public void doPost(HttpServletRequest request, HttpServletResponse response)
         throws IOException, ServletException {
         	 
             response.setContentType("text/html");
             
 
         // pegamos o PrintWriter do response, através 
         // do qual escreveremos o conteudo da pagina
         
         PrintWriter out = response.getWriter();
 		 String nome = request.getParameter("nome");
 		 String sexo = request.getParameter("sexo");
 		 String email = request.getParameter("email");
 		 String endereco = request.getParameter("endereco");
 		 int rg = Integer.parseInt( request.getParameter("rg"));
 		 String cpf =  request.getParameter("cpf");
 		 int cep = Integer.parseInt ( request.getParameter("cep"));
 		 //metodo de calculo vou começar aqui
 		 int ageYears, ageMonths, ageDays;
 		 
 		 
 		 Calendar cd = Calendar.getInstance();
 		 try{
 		 int year = Integer.parseInt ( request.getParameter("year")); 
 		 	if(year > cd.get(Calendar.YEAR)){
 		 		JOptionPane.showMessageDialog("Data de Nascimento Invalida");
 		 		}
 		 		int month = Integer.parseInt ( request.getParameter("mes"));
 		 		if(month < 1 || month > 12){
 		 			JOptionPane.showMessageDialog("Entre com o mês entre 1 e 12");
 		 			}
 		 			else{
				month--;
			}
			int day = Integer.parseint ( request.getParameter("dia"));
			if(month == 0 || month == 2 || month == 4 || month == 6 || month == 7 || month == 9 || month == 11){
				if(day > 30 || day < 1){
					JOptionPane.showMessageDialog("Entre com dia entre 1 e 30");
					}
			}
 		 else if(month == 3 || month == 5 || month == 8 || month == 10){
				if(day > 31 || day < 1){
					JOptionPane.showMessageDialog("Entre com dia entre 1 e 31");
						}
			}
			
			else{
				if(new GregorianCalendar().isLeapYear(year)){
					if(day < 1 || day > 29){
						JOptionPane.showMessageDialog("Entre com dia entre 1 e 29");
						}
				}
				
					else if(day < 1 || day > 28){
						JOptionPane.showMessageDialog("Entre com dia entre 1 e 28");
							}
			}
		}
		
		
		catch(NumberFormatException ne){
			
			JOptionPane.showMessageDialog(ne.getMessage() + " Vc ta de brincadeira!!!!");
			JOptionPane.showMessageDialog(" Entre com um numero!!!!");
			
			}
			Calendar bd = new GregorianCalendar(year, month, day);
			ageYears = cd.get(Calendar.YEAR) - bd.get(Calendar.YEAR);
			if(cd.before(new GregorianCalendar(cd.get(Calendar.YEAR), month, day))){
			ageYears--;
			ageMonths = (12 - (bd.get(Calendar.MONTH) + 1)) + (bd.get(Calendar.MONTH));
			if(day > cd.get(Calendar.DAY_OF_MONTH))
				ageDays = day - cd.get(Calendar.DAY_OF_MONTH);
				else if(day < cd.get(Calendar.DAY_OF_MONTH))
			ageDays = cd.get(Calendar.DAY_OF_MONTH) - day;
					
			else if
				ageDays = 0;
		}
		else if(cd.after(bd)){
			ageMonths = (12 - (bd.get(Calendar.MONTH) + 1)) - 1;
			if(day > cd.get(Calendar.DAY_OF_MONTH))
				ageDays = day - cd.get(Calendar.DAY_OF_MONTH) - day;
			else if(day < cd.get(Calendar.DAY_OF_MONTH))
				ageDays = cd.get(Calendar.DAY_OF_MONTH) - day;
			else
				ageDays = 0;
				}
				else{
			ageYears = cd.get(Calendar.YEAR) - bd.get(Calendar.YEAR);
			ageMonths = 0;
			ageDays = 0;
		}
		int age = ageYears;
			
 		//-------terminei aqui a inserçao do codigo------------//
 		 
 		 int day = Integer.parseInt ( request.getParameter("day"));
 		 int month = Integer.parseInt ( request.getParameter("month"));
 		 int year = Integer.parseInt ( request.getParameter("year")); 
 		  		 
 		 Candidato candidato = new Candidato();
 		 candidato.setNome (nome);
 		 candidato.setEmail (email);
 		 candidato.setSexo (sexo);
 		 candidato.setEndereco (endereco);
 		 candidato.setRg (rg);
 		 candidato.setCpf (cpf);
 		 candidato.setDay (day);
 		 candidato.setMonth (month);
 		 candidato.setYear (year);
 		 candidato.setCep (cep);
 		 candidato.setAge(ageYears);//------mudança aqui
 		 
 		 HttpSession sessao = request.getSession();
 		 sessao.setAttribute("candidato",candidato);
         // Agora vamos escrever o conteudo da pagina
         out.println("<HTML>");
         out.println("<BODY>");
         out.println("<form action='curso' method='post'>");
         out.println("Curso:<select name=curso>");
         out.println("<option value='Basico Incompleto'>Basico Incompleto</option>");
         out.println("<option value='Basico Completo'>Basico Completo</option>");
         out.println("<option value='Medio Incompleto'>Medio Incompleto</option>");
         out.println("<option value='Medio Completo'>Medio Completo</option>");
         out.println("<option value='Superior Incompleto'>Superior Incompleto</option>");
         out.println("<option value='Superior Completo'>Superior Completo</option>");
         out.println("</select><p/>");
         out.println("<input type='submit' value='Enviar'/>");
         out.println("</body>");
         out.println("</html>");
 
         }
     }

estar classe coloco os gets e os sets:

public class Candidato{
	private String nome;
	private String email;
	private String sexo;
	private String Curso;
	private String endereco;
	private int rg;
	private String  cpf;
	private int cep; 
	private int day;
	private int month;
	private int year;
	private int age;
	
	public Candidato(){
		day=1;
		month=0;
		year=1;
		rg=0;
		cpf="";
		cep=0;
		age=0;
	}
	public void setCep(int cep){
		this.cep = cep;
	}
	public void setEndereco(String endereco){
		this.endereco = endereco;
	}
	public void setRg(int rg){
		this.rg = rg;
	}
	public void setCpf(String cpf){
		this.cpf = cpf;
	} 
	public void setDay(int day){
		this.day = day;
		
	}
	public void setMonth(int month){
		this.month = month;
		
	}
	public void setAge(int age ){
		this.age = age;
	}
	
	public void setYear (int year){
		this.year = year;
	}
	
	public void setNome(String nome){
		this.nome = nome;
	}
	
	public void setEmail(String email){
		this.email = email;
	}
	
	public void setSexo(String sexo){
		this.sexo = sexo;
	}
	
	public void setCurso(String curso){
		this.Curso = curso;
	}
	
	public String getNome(){
		return this.nome;
	}
	
	public String getEmail(){
		return this.email;
	}
	
	public String getSexo(){
		return this.sexo;
	}
	
	public String getCurso(){
		return this.Curso;
	}
	
	public int getDay(){
		return this.day;
		
	}
	
	public int getMonth(){
		return this.month;
	}
	
	public int getYear(){
		return this.year;
	}
	
	public int getAge(){
		return this.age;
	}
	public int getRg(){
		return this.rg;
		
	}
	public String getCpf(){
		return this.cpf;
		
	}
	public String getEndereco(){
		return this.endereco;
	}
	public int getCep(){
		return this.cep;
	}
		
}

2 Respostas

Roger75

Cara, você está colocando código Swing dentro de um servlet… não vai funcionar não. JOptionPane.showMessageDialog num servlet? Tá doido?

Tente usar alguma IDE para debugar o código.

M

Devo de estar doido sim, mas sou iniciante e todo iniciante e meio louco!!!

Criado 25 de março de 2010
Ultima resposta 25 de mar. de 2010
Respostas 2
Participantes 2