Calculo diferença entre datas

ai pessoal só novo em java e o e não to conseguindo fazer um classe segue a descrição e o que ja desenvolvi se alguém poder da uma força agradeço
a maior duvida seria como calcular a diferença dessas datas no java

Criar uma classe chamada Data.java

Esta classe deve ter os seguintes construtores:

Construtores

Data()
Data(String d): recebe uma data em uma string nos formatos “dd/mm/aaaa”, “dd-mm-aaaa”, “aaaa-mm-dd”, “aaaa/mm/dd”
Data(Date d): recebe uma data através do objeto Date
Data(Calendar c): recebe uma data através do objeto Calendar

Métodos

adicionarDias(int d): void : adiciona uma quantidade de dias ao objeto data
adicionarMeses(int d): void : adiciona uma quantidade de meses ao objeto data
adicionarAnos(int d): void : adiciona uma quantidade de anos ao objeto data

subtrairDias(int d): void : subtrai uma quantidade de dias do objeto data
subtrairMeses(int d): void : subtrai uma quantidade de meses do objeto data
subtrairAnos(int d): void : subtrai uma quantidade de anos do objeto data

getDia() : int : retorna o dia da data
getMes() : int : retorna o mês da data
getAno() : int : retorna o ano da data

setDia(int d): void : define o dia da data
setMes(int m): void : define o mês da data
setAno(int a): void : define o ano da data

calcularDiferenca(String data): void : Calcula a diferença entre a data do objeto e a data passada como parâmetro e armazena o resultado na própria classe Data.

[code]package Data;

import java.text.SimpleDateFormat;
import java.util.*;

public class Data {
int dia = 0 , mes = 0 , ano = 0;
SimpleDateFormat formatador = new SimpleDateFormat(“dd/MM/yyyy”);

public Data()
{

}
public Data(String d)
{

}
public Data(Date d)
{
String data = formatador.format(d);

StringTokenizer str = new StringTokenizer(data,"/");

this.dia = Integer.parseInt(str.nextToken());
this.mes = Integer.parseInt(str.nextToken());
this.ano = Integer.parseInt(str.nextToken());

}
public Data(Calendar C)
{

this.dia = C.get(Calendar.DAY_OF_MONTH);
this.mes = C.get(Calendar.MONTH);
this.ano = C.get(Calendar.YEAR);

}

public void adicionarDias (int d)
{
this.dia = this.dia + d;

}
public void adicionaMes (int d)
{
this.mes = this.mes +d;

}
public void adcionaAno(int d)
{
this.ano = this.ano + d;

}

public void subtrairDias(int d)
{
this.dia = this.dia - d;

}
public void subtrairMes (int d)
{
this.mes = this.mes - d;

}
public void subtrairAnos(int d)
{

this.ano = this.ano - d;

}

public void calcularDiferenca(String data)
{

}

public int getDia(){
return this.dia;
}
public int getMes(){
return this.mes;
}
public int getAno(){
return this.ano;
}
public void setDia(int d)
{
this.dia = d;
}
public void setMes(int m){
this.mes = m;
}
public void setAno(int a){
this.ano = a;
}
}[/code]

É a título de estudo ou você realmente quer criar uma classe para melhor manipulação com datas? Pq se for para trabalhar mesmo, tem uma biblioteca muito poderosa que deve ser padrão na próxima versão do Java, a JodaTime:

http://joda-time.sourceforge.net/

vc ja abriu uns 3 topicos perguntando a mesma coisa… com esse é 4…

jaja o moderador vai te dar uma bronca rapaz…

titulo de estudo si puder me ajudar eu agradeço

vou ter que falar aqui o que foi já dito nos outros topicos??

vc simplemente não diz qual é sua duvida… e espera que alguem faça o trabalho por você… alem de já ter sido grosso com o moderador no outro topico…
Na boa seja objetivo… se quer ser ajudado tenha duvidas, faça codigo… chegue a um erro e então pergunte, não simplemente jogue o enunciado de um exercicio no forum e fala se virem me ajudem… afinal ninguem aqui tem bola de cristal.

Se voce quer aprender ok! A gente pode dar o caminho… auxilia, tira duvidas… mas ninguem aqui vai fazer o trabalho por você… olhe as regras do forum… esta escrito isso lá…

então cara essa e a duvida não estou entendendo o enunciado do exercício nem o que e pra fazer eu sou novo em java por isso a duvida não quero ser grosso com ninguém nem e minha intenção

se o problema é esse… vamos por partes… vc tem que ver o que é preciso…

ai vc faz os metodos e construtores… pelo que vi vc ja os fez…

o segundo passo é fazer verificação… pq não existe dias negativos… e nem com maior que 31… fora que tem os anos bissestos vai ter que fazer um metodo que verifica isso… com base no ano passado… e meses nao podem ser maior que 12 e menor que 1…(no java os meses começam com 0 e terminam com 11)

faz isso por enquanto e tente fazer o metodo que calcula a diferença e chegue aos seus respectivos erros… ai continuamos ok?

Cara já viu a biblioteca LTN4Java, é bem fácil de usar http://code.google.com/p/ltn4java.