Hm, seltsam, das klappt dann, hängt also wohl doch vom Rest des Codes ab.. ich bin mal so frei zumindest die Datei in dem die Methode steht zu posten.. vllt findet sich ja wer, der es überfliegt^^
[code=Java]public abstract class Tarif implements Vergleichbar{
private double grundpreis;
private double kwh;
private double tarif;
private String name;
public double getGrundpreis(){
return grundpreis;
}
public double getKwh(){
return kwh;
}
public double getTarif(){
return tarif;
}
public String getName(){
return name;
}
public void setGrundpreis(double grundpreis){
this.grundpreis =grundpreis;
}
public void setKwh(double kwh){
this.kwh=kwh;
}
public void setTarif(double tarif){
this.tarif=tarif;
}
public void setName(String name){
this.name=name;
}
public Tarif(String name, double grundpreis){
this.kwh=0.0;
this.tarif=grundpreis;
this.name=name;
this.grundpreis=grundpreis;
}
public abstract void berechneTarif(double kwh);
public boolean istKleiner(Vergleichbar other){
if(other instanceof Tarif){
if(tarif<((Tarif)other).getTarif()){
return true;
}
else{
return false;
}
}
return false;
}
}
[/code]
UND dies ist die Klasse, mit der ich meine Programmierung testen soll.. beim compilieren dieses programms gibt es die fehlermeldung..
[code=Java]public class DemoTarifRechner {
public static void main(String[] args) {
// Tarife
Tarif[] tarife = {
new EPrimo("EPrimo", 500.0),
new Nuon("Nuon", 529.0),
new Vattenfall("Vattenfall", 499.0)
};
// Tarifrechner
TarifRechner tr = new TarifRechner(tarife);
// Einlesen des monatlichen Verbrauchs von der Kommandozeile
double verbrauch = Double.parseDouble(args[0]);
// Ermittlung des konstenguenstigten Tarifs
Tarif bestTarif = tr.getBestTarif(verbrauch);
// Ausgabe
System.out.print("Guenstigter Tarif bei einem Verbrauch von ");
System.out.println(verbrauch + " kwh:");
System.out.println("Anbieter: " + bestTarif.getName());
System.out.println("Tarif : " + bestTarif.getTarif() + " Cent");
}
}
[/code]
dann gibt es natürlich noch die Stromanbieter, 3 an der Zahl.. alle in dieser Form..
[code=Java]public EPrimo(String name, double grundpreis) {
super(name, grundpreis);
}
public void berechneTarif(double kwh) {
setKwh(kwh);
setTarif(getGrundpreis() + 20.0*kwh);
}
}
[/code]
das interface, welches der Tarif implementiert.. ist folgendes
[code=Java]interface Vergleichbar {
abstract boolean istKleiner(Vergleichbar other);
}[/code]
MfG
N.