Uml

[quote=rmendes08]Seria assim na verdade:

import java.util.Util;

mania do eclipse faze td pra mim…haehuaehuae

[quote=erickles][quote=rmendes08]Seria assim na verdade:

import java.util.Util;

mania do eclipse faze td pra mim…haehuaehuae[/quote]

Calma. Primeiro essa classe não existe.
Segundo a classe foi criado pelo juniomundo no seu pacote.
Mas ele usou o pacote default, logo a importação é

import Util

como a classe só tem métodos estáticos pode-se usar um import estático que é o que foi feito no codigo mostrado

import Util.*

O detalhe é que a função definida em Util não está sendo usada.

Olá pessoal!!

Primeiramente parabens Sergiotaborda pela sua explicação, acho que me convenceu ah analisar melhor como usar herança.
Eu uma vez usei herança para fazer algo parecido, com Pessoa e etc… mas é importante aprimorar as tecnicas para se tornar um programador melhor.

No caso acima acho que ouve uma pequena confusão, de a classe util que o nosso amigo criou com o pacote java.util:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/package-summary.html

Não sei se tiver errado me desculpem, abraços

Boa tarde,

Seguindo o escopo que está descrito no topo, gostaria de saber como faço para exibir os dados corretamente pela classe Aluno, assim utilizando a classe Util para fazer o calculo da data ?
Classe Pessoa:

[code]import java.util.Date;
public class Pessoa {
private String cpf;
private Date dataNascimento;
private String nome;
private String endereco;

	public Pessoa(String cpf, Date dataNascimento, String nome, String endereco){
		this.cpf = cpf;
		this.dataNascimento = dataNascimento;
		this.nome = nome;
		this.endereco = endereco;			
	}
	
	public void setCpf (String cpf){
		this.cpf = cpf;
	}
	public void setDatanascimento (Date dataNascimento){
		this.dataNascimento = dataNascimento;
	}
	public void setNome (String nome){
		this.nome = nome;
	}
	public void setEndereco (String endereco){
		this.endereco = endereco;
	}
	
	public String getCpf (){
		return cpf;
	}
	public Date getDatanascimento (){
		return dataNascimento;
	}
	public String getNome (){
		return nome;
	}
	public String getEndereco (){
		return endereco;
	}

}
[/code]
Classe Aluno:

[code]import java.util.Date;
public class Aluno extends Pessoa {
private int anoInicioGraduacao;

public Aluno (String cpf, Date dataNascimento, String nome, String endereco){
	super (cpf, dataNascimento, nome, endereco);
	setAnoiniciograduacao (anoInicioGraduacao);
}

public void setAnoiniciograduacao (int anoInicioGraduacao){
	this.anoInicioGraduacao = anoInicioGraduacao;
}
public int getAnoiniciograduacao (){
	return anoInicioGraduacao;
}

public static void main (String[] args){
	Util a = new Util();
	a.dataNascimento.calculaIdade("20-08-1977","dd-MM-yyyy");	
}

}
[/code]
Classe Util:

[code]import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.io.*;

public class Util{
//Calcula a Idade baseado em java.util.Date
public static int calculaIdade(java.util.Date dataNasc){
Calendar dateOfBirth = new GregorianCalendar();
dateOfBirth.setTime(dataNasc);

        // 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);
        
        //se a data de hoje é antes da data de Nascimento, então diminui 1(um)
        if (today.before(dateOfBirth)) {
            age--;
        }
        return age;
        
    }

}
[/code]

Muito obrigado a todos vocês pela atenção, pois está sendo de grande valia.

Júnio César Silva

Porque não consigo exibir os dados?

[code]import java.util.Date;
public class Aluno extends Pessoa {
private int anoInicioGraduacao;

public Aluno (String cpf, Date dataNascimento, String nome, String endereco, int anoInicioGraduacao){
	super (cpf, dataNascimento, nome, endereco);
	this.anoInicioGraduacao = anoInicioGraduacao;
}

public void setAnoiniciograduacao (int anoInicioGraduacao){
	this.anoInicioGraduacao = anoInicioGraduacao;
}
public int getAnoiniciograduacao (){
	return anoInicioGraduacao;
}

public void exibir (){
	System.out.println ("CPF: " + getCpf ());
	System.out.println ("Data de Nascimento: " + getDatanascimento ());
	System.out.println ("Nome: " + getNome ());
	System.out.println ("Endereco: " + getEndereco ());
	System.out.println ("Ano de Graduaçao: " + getAnoiniciograduacao ());	
	System.out.println ("----------------------------------------------------------------");
}

public static void main (String[] args){
	Date date = new Date ("12/09/19872");
	Aluno a = new Aluno("1254464",date,"Junio","Rua 12,Jardim Beleza, Belo Horizonte/MG", 2000);		
}

}[/code]

Agradeço desde já,

Júnio César Silva

Boa tarde,

Porque não está retornando a idade ?

[code]import java.util.*;
public class Aluno extends Pessoa {
private int anoInicioGraduacao;

public Aluno (String cpf, Date dataNascimento, String nome, String endereco, int anoInicioGraduacao){
	super (cpf, dataNascimento, nome, endereco);
	this.anoInicioGraduacao = anoInicioGraduacao;
}

public void setAnoiniciograduacao (int anoInicioGraduacao){
	this.anoInicioGraduacao = anoInicioGraduacao;
}
public int getAnoiniciograduacao (){
	return anoInicioGraduacao;
}

public void exibir (){
	System.out.println ("Nome: " + getNome ());
	System.out.println ("CPF: " + getCpf ());
	System.out.println ("Data de Nascimento: " + getDatanascimento ().toString());
	System.out.println ("Endereco: " + getEndereco ());
	System.out.println ("Ano de Graduaçao: " + getAnoiniciograduacao ());	
	System.out.println ("----------------------------------------------------------------");
}

public static void main (String[] args){
	Aluno a = new Aluno("1254464", new Date("03/10/1980"),"Junio","Rua 12,Jardim Beleza, Belo Horizonte/MG", 2000);	
	a.exibir();
}

}
[/code]
O objeto Date, apalavra aparece riscada com a mensagem “The constructor Date(String) is deprecated”.

[code]import java.util.*;

public class Util {

public static int CalcularIdade(Date dataNascimento) {
GregorianCalendar hj = new GregorianCalendar();
GregorianCalendar nascimento = new GregorianCalendar();
if(dataNascimento != null)
{
nascimento.setTime(dataNascimento);
}
int anohj=hj.get(Calendar.YEAR);
int anoNascimento = nascimento.get(Calendar.YEAR);
int idade = anohj - anoNascimento;
return idade;
}
}[/code]

Agradeço desde já,

Júnio César Silva