Hi!
Ich habe folgendes Problem:
Wenn man die Methode fahren aufruft wird zwar der Kilometerstand erhöht, aber der Benzinstand sinkt nicht. Ich kann den Fehler nicht finden.
Ich habe folgendes Problem:
Wenn man die Methode fahren aufruft wird zwar der Kilometerstand erhöht, aber der Benzinstand sinkt nicht. Ich kann den Fehler nicht finden.
Code:
public class Auto
{
int tankvolumen;
int benzinstand;
int verbrauch;
int kmstand;
public Auto(int benz, int km)
{
tankvolumen = 70;
benzinstand = benz;
verbrauch = 9;
kmstand = km;
}
public void Tanken(int liter)
{
System.out.println("Tanken:");
int differenz = tankvolumen - benzinstand;
if(liter <= differenz)
{
benzinstand = benzinstand + liter;
int zaehler = 0;
while (zaehler < liter)
{
System.out.print("*");
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
zaehler++;
}
System.out.println("");
System.out.println("Sie haben " +liter +" Liter getankt.");
System.out.println("Ihr Benzinstand beträgt nun " +benzinstand +" Liter.");
System.out.println("");
}
if(liter > differenz)
{
benzinstand = benzinstand + differenz;
int zaehler = 0;
while (zaehler < differenz)
{
System.out.print("*");
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
zaehler++;
}
System.out.println("");
System.out.println("Brechen Sie den Tankvorgang ab!");
System.out.println("Sie haben " +differenz +" Liter getankt.");
System.out.println("Ihr Tank ist voll.");
System.out.println("");
}
}
public void fahren(int km)
{
int verb;
int hundertstel;
hundertstel = km / 100;
verb = hundertstel * verbrauch;
kmstand = kmstand + km;
benzinstand = benzinstand - verb;
if((benzinstand <= 10)&&(benzinstand > 0))
{
System.out.println("Sie haben noch maximal 10 Liter Benzin.");
System.out.println("Tanken Sie bitte ihr Fahrzeug auf!");
System.out.println("");
}
if(benzinstand == 0)
{
System.out.println("Ihr Tank ist leer.");
System.out.println("Bitte rufen sie jemanden an, der Ihnen Benzin brigen oder Sie abholen kann!");
System.out.println("");
kmstand = kmstand - km;
}
}
}