zur vorherigen Seite zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Welches ist der Parameter der Methode, die die Fakultät berechnet?

Der Wert von N, ein Integer

Was ist der Rückgabewert der Methode, die die Fakultät berechnet?

Die Fakultät von N.

Stub

Hier ist eine Klasse mit einer vollständigen static main() Methode und einem Stub für die factorial() Methode.

import  java.util.Scanner;

// Anwender gibt wiederholt N ein
// Fakultät N berechnen und ausgeben
// Anwender gibt einen negativen Wert ein, um die Schleife zu beenden

public class FactorialTester
{

  // Stub Fakultät num berechnen
  public static long factorial( int num )
  {
     return 1L;
  }

  public static void main (String[] args )
  {
    Scanner scan = new Scanner( System.in );
    long fact;
    int N;

    System.out.println( "To exit, enter a negative value" );
    System.out.print( "Enter N: " );
    N = scan.nextInt();

    while ( N <= 0 )
    {
      fact = factorial( N );
      System.out.println( "factorial is " + fact );
      System.out.print( "Enter N: " );
      N = scan.nextInt();
    }

  }
}

Die faktorielle Methode in diesem Programm ist nur ein Stub (Stummel).

Ein Stub ist nur das Grundgerüst einer Methode (die Funktionalität wird erst später entwickelt), die anstelle der vollständigen Methode verwendet wird.

Stubs sind bei der Entwicklung von Programmen äußerst nützlich. Das obige Programm kann kompiliert und ausgeführt werden, um zu testen ob main() korrekt funktioniert.

Das ist ein weiterer Aspekt der Modularität: Wir testen einzelne Module, sobald sie geschrieben sind. Wir warten nicht, bis das gesamte Programm geschrieben ist. Versucht niemals zuerst das ganze Programm zu schreiben und dann alles auf einmal zu testen.


QUESTION 5:

Wir überprüfen ob die main() funktioniert:

C:\Source> javac FactorialTester.java
C:\Source> java FactorialTester
To exit, enter a negative value
Enter N: 12
C:\Source>

Oh, Nein! Etwas klappt nicht! Das Programm wird bei der Eingabe einer positiven Zahl sofort beendet.

Wo ist der Fehler?


zur vorherigen Seite zum Inhaltsverzeichnis   zur nächsten Seite