Ändern Sie den Konstruktor der Auto-Klasse, so dass er nur noch einen Parameter für den Meilenanfangsstand hat. Die Meilen pro Gallone können noch nicht berechnet werden. Fügen Sie jetzt der Klasse eine Methode hinzu:
void auftanken( int aktTacho, double gallonen )
Das simuliert eine Tankfüllung an der Tankstelle: aktTacho ist der aktuelle Tachometerstand und gallonen ist die Anzahl der Gallonen, die den Tank gefüllt haben. Speichern Sie diese Werte in den Instanzvariablen. Mit dieser Information können die Meilen pro Gallone berechnet werden. Schreiben Sie die Methode, so dass sie jedes Mal, wenn sie aufgerufen wird, die Instanzvariablen aktualisiert (Simulation eines weiteren Tankvorgangs). Nach jedem Aufruf wird berechneMPG() die letzten Meilen pro Gallone berechnen.
Schreiben Sie ein Testklasse mit einer main() Methode, die ein Auto-Objekt konstruiert und die auftanken() und berechneMPG() Methode ein paar Mal aufruft.
C:\javaNotes\aufgaben>java MPGTester2
Neues Auto - Tachometer-Anfangsstand:
0
+++ Besuch der Tankstelle +++
Aktuellen Tachometerstand eingeben:
350
Anzahl der Gallonen fuer die Tankfuellung:
10
Meilen pro Gallone: 35.0 Autotyp: Sparauto
Programm beenden <j>a <n>ein?
n
+++ Besuch der Tankstelle +++
Aktuellen Tachometerstand eingeben:
450
Anzahl der Gallonen fuer die Tankfuellung:
10
Meilen pro Gallone: 10.0 Autotyp: Benzinschwein!
Programm beenden <j>a <n>ein?
j
Problem:
Ich weis nicht wie ich die "void auftanken( int aktTacho, double gallonen )" Methode richtig einsetzen soll???
void auftanken( int aktTacho, double gallonen )
Das simuliert eine Tankfüllung an der Tankstelle: aktTacho ist der aktuelle Tachometerstand und gallonen ist die Anzahl der Gallonen, die den Tank gefüllt haben. Speichern Sie diese Werte in den Instanzvariablen. Mit dieser Information können die Meilen pro Gallone berechnet werden. Schreiben Sie die Methode, so dass sie jedes Mal, wenn sie aufgerufen wird, die Instanzvariablen aktualisiert (Simulation eines weiteren Tankvorgangs). Nach jedem Aufruf wird berechneMPG() die letzten Meilen pro Gallone berechnen.
Schreiben Sie ein Testklasse mit einer main() Methode, die ein Auto-Objekt konstruiert und die auftanken() und berechneMPG() Methode ein paar Mal aufruft.
C:\javaNotes\aufgaben>java MPGTester2
Neues Auto - Tachometer-Anfangsstand:
0
+++ Besuch der Tankstelle +++
Aktuellen Tachometerstand eingeben:
350
Anzahl der Gallonen fuer die Tankfuellung:
10
Meilen pro Gallone: 35.0 Autotyp: Sparauto
Programm beenden <j>a <n>ein?
n
+++ Besuch der Tankstelle +++
Aktuellen Tachometerstand eingeben:
450
Anzahl der Gallonen fuer die Tankfuellung:
10
Meilen pro Gallone: 10.0 Autotyp: Benzinschwein!
Programm beenden <j>a <n>ein?
j
Code:
public class Auto {
// Instanzvariablen
int startMeilen; // Anfangsmeilenstand
int endMeilen; // Endmeilenstand
double gallonen; // verbrauchte Gallonen Benzin
int aktTacho=0;
// Konstruktor
Auto( int startMeilen ,int aktTache,int Meilenanfangsstand ,double gallonen)
{
this. startMeilen = 0 ;
}
void auftanken( int aktTacho, double gallonen ){
aktTacho=endMeilen-aktTacho;
}
double berechneMPG()
{
return (endMeilen - aktTacho) / gallonen ;
}
boolean benzinschwein()
{
if(berechneMPG()<15.0)
return true;
else
return false;
}
boolean sparauto()
{
if(berechneMPG()>30.0)
return true;
else
return false;
}
}
Code:
public class MeilenproGallone {
public static void main( String[] args )
throws IOException
{
BufferedReader userIn =
new BufferedReader(
new InputStreamReader( System.in ) );
String charData="n";
int startMeilen=0, endMeilen,aktTacho=0,Meilenanfangsstand=0 ;
double gallonen=0;
String str= "j";
String strn="n";
System.out.println("Neues Auto - Tachometer-Anfangsstand:0 " );
while(charData.endsWith(strn))
{
System.out.println("+++ Besuch der Tankstelle +++");
System.out.println("Aktuellen Tachometerstand eingeben: " );
charData = userIn.readLine();
endMeilen = Integer.parseInt( charData );
System.out.println("Anzahl der Gallonen fuer die Tankfuellung: " );
charData = userIn.readLine();
gallonen = Integer.parseInt( charData );
System.out.println("Programm beenden: <"+str+">a oder <"+strn+">ein?");
charData = userIn.readLine();
aktTacho=endMeilen-aktTacho;
Auto auto = new Auto(
startMeilen,aktTacho,Meilenanfangsstand ,gallonen );
System.out.println( "Meilen pro Gallone: "
+ auto.berechneMPG() );
if(auto.benzinschwein()==true)
{
System.out.println("Benzinschein");
}
if(auto.sparauto()==true)
{
System.out.println("Sparauto");
}
}
}
}
Problem:
Ich weis nicht wie ich die "void auftanken( int aktTacho, double gallonen )" Methode richtig einsetzen soll???