zanardi84
06-04-2012, 16:13
Salve a tutti. Ho sviluppato per esercizio una classe partendo dall'oggetto istanziato da una classe generica, come nel listato che sto per postare.
Non riesco a capire perchè eclipse mi restituisce un errore di compilazione nel metodo compareTo: - This method must return a result of type int
- implements
java.lang.Comparable<Istante>.compareTo
public class Istante implements Comparable<Istante>
{
// variabile di istanza
private Coppia<Data, Orario> istante;
// costruttore
public Istante(Data d, Orario o)
{
istante = new Coppia<Data, Orario>(d, o);
}
// campi dell'oggetto a destra nella coppia
public int getOra()
{
return istante.getDestro().getOre();
}
public int getMinuti()
{
return istante.getDestro().getMinuti();
}
// campi dell'oggetto a sinistra nella coppia
public int getGiorno()
{
return istante.getSinistro().getGiorno();
}
public int getMese()
{
return istante.getSinistro().getMese();
}
public int getAnno()
{
return istante.getSinistro().getAnno();
}
public Orario getOrario()
{
return istante.getDestro();
}
public Data getData()
{
return istante.getSinistro();
}
public String toString()
{
return istante.toString();
}
public boolean equals (Istante altro)
{
if(this.getData().equals(altro.getData())&& this.getOrario().equals(altro.getOrario()))
return true;
else
return false;
}
public int compareTo(Istante altro)
{
if(this.getData().isMaggiore(altro.getData()))
return 1;
if(this.getData().isMinore(altro.getData()))
return -1;
if(this.getData().equals(altro.getData()))
{
if(this.getOrario().isMaggiore(altro.getOrario()))
return 1;
if(this.getOrario().isMinore(altro.getOrario()))
return -1;
}
else
return 0;
}
}
Secondo voi il codice è corretto o si può creare in modo diverso partendo dall'istanza della classe Coppia?
Grazie.
Grazie.
Non riesco a capire perchè eclipse mi restituisce un errore di compilazione nel metodo compareTo: - This method must return a result of type int
- implements
java.lang.Comparable<Istante>.compareTo
public class Istante implements Comparable<Istante>
{
// variabile di istanza
private Coppia<Data, Orario> istante;
// costruttore
public Istante(Data d, Orario o)
{
istante = new Coppia<Data, Orario>(d, o);
}
// campi dell'oggetto a destra nella coppia
public int getOra()
{
return istante.getDestro().getOre();
}
public int getMinuti()
{
return istante.getDestro().getMinuti();
}
// campi dell'oggetto a sinistra nella coppia
public int getGiorno()
{
return istante.getSinistro().getGiorno();
}
public int getMese()
{
return istante.getSinistro().getMese();
}
public int getAnno()
{
return istante.getSinistro().getAnno();
}
public Orario getOrario()
{
return istante.getDestro();
}
public Data getData()
{
return istante.getSinistro();
}
public String toString()
{
return istante.toString();
}
public boolean equals (Istante altro)
{
if(this.getData().equals(altro.getData())&& this.getOrario().equals(altro.getOrario()))
return true;
else
return false;
}
public int compareTo(Istante altro)
{
if(this.getData().isMaggiore(altro.getData()))
return 1;
if(this.getData().isMinore(altro.getData()))
return -1;
if(this.getData().equals(altro.getData()))
{
if(this.getOrario().isMaggiore(altro.getOrario()))
return 1;
if(this.getOrario().isMinore(altro.getOrario()))
return -1;
}
else
return 0;
}
}
Secondo voi il codice è corretto o si può creare in modo diverso partendo dall'istanza della classe Coppia?
Grazie.
Grazie.