Hallo!
Ich habe gerade ein primitives Programm geschrieben, in dem ein Auto betankt und gefahren werden soll. Wenn es betankt wird, wird jedoch die doppelte Menge des Tankvorgangs zum Kraftstoffvorrat hinzugefügt. Ich vermute den Fehler in der Methode tanken(), aber ich finde ihn nicht... ???:L
Ich habe gerade ein primitives Programm geschrieben, in dem ein Auto betankt und gefahren werden soll. Wenn es betankt wird, wird jedoch die doppelte Menge des Tankvorgangs zum Kraftstoffvorrat hinzugefügt. Ich vermute den Fehler in der Methode tanken(), aber ich finde ihn nicht... ???:L
Java:
class Auto{
private String modell;
private int kmStand;
private double verbrauch;
private double tankVolumen;
private double kraftstoffVorrat;
public Auto(String modell, int kmStand, double verbrauch, double tankVolumen, double kraftstoffVorrat){
this.modell = modell;
this.kmStand = kmStand;
this.verbrauch = verbrauch;
this.tankVolumen = tankVolumen;
this.kraftstoffVorrat = kraftstoffVorrat;
}
public void info(){
System.out.println("Kilometerstand: " + kmStand + ", Tankinhalt: " + kraftstoffVorrat);
}
public String toString(){
return "Fahrzeugmodell: " + modell + ", Kilometerstand: " + kmStand + ", Verbrauch: " + verbrauch + ", Tankinhalt: " + kraftstoffVorrat
+ ", Tankvolumen: " + tankVolumen;
}
public void fahren(int km){
kmStand += km;
if((km*verbrauch/100) > kraftstoffVorrat)
System.out.println("Zu wenig Kraftstoff! Erst tanken!");
else{
kraftstoffVorrat -= (km*verbrauch/100);
System.out.println("Sie fahren " + km + " km und verbrauchen dabei " + (km*verbrauch/100) + " l Kraftstoff");}
}
public void tanken(double liter){
if((kraftstoffVorrat += liter)>tankVolumen){
System.out.println("Tank ist voll!");
this.kraftstoffVorrat = tankVolumen;
}else{
kraftstoffVorrat += liter;
System.out.println("Sie tanken " + liter + " l. Tankinhalt jetzt: " + kraftstoffVorrat);
}
}
}
Java:
class AutoTest{
public static void main (String[] args){
Auto golf = new Auto("VW Golf",92000,9.8,52,41);
System.out.println(golf);
golf.fahren(200);
System.out.println(golf);
golf.fahren(300);
System.out.println(golf);
golf.tanken(10);
System.out.println(golf);
golf.fahren(300);
System.out.println(golf);
golf.tanken(15);
System.out.println(golf);
}
}
Zuletzt bearbeitet von einem Moderator: