Antwort des Anwenders prüfen


zur vorherigen Seite  
zum Inhaltsverzeichnis  
zur nächsten Seite

Antwort:

Nein — der Anwender könnte den Wert des Polynoms
sehen wollen bei dem x 0.0 ist.
Das gleiche Problem besteht bei jedem anderen Wert.

Antwort des Anwenders prüfen

In diesem Programm ist kein spezieller Wert als Kontrollwert geeignet,
da jede Zahl potentiell eingegeben werden kann.
Aus diesem Grund muss es eine Eingabeaufforderung geben, die den Anwender fragt, ob er fortfahren will und eine weitere Eingabeaufforderung, die nach den Daten fragt.

Hier ist ein Grundgerüst des Programms:

class EvalPoly
{
  public static void main (String[] args )
  {
    double x;                      // ein Wert für das Polynom
    String antwort = "j";         // "j" oder "n"
    while ( antwort.equals( "j" ) )
    {
       // Einen Wert für x holen
       // Polynom berechnen
       // Ergebnis ausgeben
       // Anwender fragen, ob das Programm fortfahren soll
       // Die Antwort des Anwenders ist "antwort"
    }
  }
}

Es ist meistens sinnvoll die Teilaspekte eines Programms nacheinander zu bearbeiten.
Lassen Sie uns zuerst den Aspekt der "Eingabeaufforderung und der Schleife"
betrachten und vorübergehend den Aspekt der Berechnung des Polynoms ignorieren.

Der Bedingungsteil der while-Anweisung antwort.equals("j")
ergibt entweder wahr oder falsch.
Hier ist wie das passiert:

  • antwort ist eine Referenz auf ein Stringobjekt.
  • Ein Stringobjekt besitzt sowohl
    Daten als auch Methoden (wie alle Objekte).
  • Der Datenteil von antwort werden die Zeichen sein, die der Anwender eingibt.
  • Es gibt verschiedene Methoden für ein Stringobjekt.
    Die equals( String ) Methode überprüft ob
    zwei Strings die gleichen Zeichen enthalten.
  • antwort.equals("j") überprüft, ob der String antwort
    gleich dem String “j” ist.
  • Das Ergebnis des Tests ist
    wahr oder falsch.

Mit anderen Worten, die Bedingung antwort.equals("j")
fragt: Hat der Anwender ein “j” eingegeben?


FRAGE 15:

Das Programm wird Input und Output durchführen.
Welches Java Paket sollte importiert werden?