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.
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.
Lasst 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.antwort
werden die Zeichen sein, die der Anwender eingibt.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 Programm wird Input und Output durchführen. Welches Java Paket sollte importiert werden?