Grazie per i suggerimenti ho provato a mettere insieme il tutto adesso riesco far stampare su std output se è precedente o no. Però non sono riuscito a far stampare la data intera vi allego il mio codice.
Grazie ancora dell'aiuto.
Classe Data
public class Data
{
int giorno;
int mese;
int anno;
public Data (int unGiorno, int unMese, int unAnno)
{
giorno = unGiorno;
mese = unMese;
anno = unAnno;
}
public Data()
{
}
public void controlloData()
{
if(giorno<1 || giorno>31 && mese<1 || mese>12)
System.out.println("Data non valida" ) ;
}
public String toString(){
return giorno+"/"+mese + "/" + anno ;
}
}
Classe DataConOrario
public class DataConOrario extends Data {
public int orario;
public DataConOrario(int unGiorno, int unMese, int unAnno, int unOrario)
{
giorno = unGiorno;
mese = unMese;
anno = unAnno;
orario = unOrario;
}
public String toString(){
return giorno+"/"+mese + "/" + anno +" - h:" + orario ;
}
public boolean precede(DataConOrario d){
int annoA = this.anno;
int annoB = d.anno;
if(annoA!=annoB){
return annoA>annoB;
}
int meseA = this.mese;
int meseB = d.mese;
if(meseA!=meseB){
return meseA>meseB;
}
int giornoA = this.giorno;
int giornoB = d.giorno;
if(giornoA!=giornoB){
return giornoA>giornoB;
}
int orarioA = this.orario;
int orarioB = d.orario;
if(orarioA!=orarioB){
return orarioA>orarioB;
}
return false;
}
}
Main
public class Main {
public static void main(String[] x)
{
DataConOrario d1=new DataConOrario(30,5,2014,10);
DataConOrario d2=new DataConOrario(30,5,2014,10);
System.out.println(d1.precede(d2));
System.out.println(d2.precede(d1));
}
}