Eine gute Antwort wäre:

Die berechneMPG() Methode kann die Parameter des Konstruktor nicht verwenden.

Sie können keine Parameter eines Konstruktors in einer Methode verwenden.

Tatsächlich kann die berechneMPG() Methode die Parameter des Konstruktors nicht einmal sehen. Anders gesagt, die Sichtbarkeit der Parameter ist auf den Körper der Methode beschränkt. Der Compiler wird sich beschweren, dass startTacho, endTacho und galls undefinierte Variablen sind, da sie außerhalb ihres Sichtbarkeitsbereichs verwendet werden. Werfen Sie einen Blick zurück auf das vollständige Programm, um die korrekte Methode zu sehen.

import java.io.* ;

class Auto
{
  // Instanzvariablen
  int startMeilen;   // Anfangsmeilenstand
  int endMeilen;     // Endmeilenstand
  double gallonen;   // verbrauchte Gallonen Benzin

  // Konstruktor
  Auto(  int startTacho, int endTacho, double galls  )
  {
    startMeilen = startTacho ;
    endMeilen   = endTacho ;
    gallonen    = galls ;
  }

  // Methoden
  double berechneMPG()
  {
    return  (endTacho - startTacho)/galls  ;       // FALSCH, FALSCH, FALSCH
  }

}

class MeilenProGallone
{
  public static void main( String[] args )
  {
    Auto auto = new Auto( 32456, 32810, 10.6 );
    System.out.println( "Meilen pro Gallonen: " + auto.berechneMPG() );
  }
}

FRAGE 18:

Geht Ihnen das Benzin aus?

Inhaltsverzeichnis