Quadratische Lesemethode

8

Ich muss eine Lesemethode für eine quadratische Klasse schreiben, in der eine quadratische Form in der Form ax ^ 2 + bx + c eingegeben wird. Die Beschreibung für die Klasse lautet wie folgt:

Fügen Sie eine Lesemethode hinzu, die den Benutzer nach einer Gleichung im Standardformat fragt, und legen Sie die drei Instanzvariablen richtig fest. (Wenn also der Benutzer 3x ^ 2 - x eingibt, legen Sie die Instanzvariablen auf 3, -1 und 0 fest). Dies erfordert eine String-Verarbeitung, die Sie zuvor ausgeführt haben. Zeigen Sie die tatsächlich eingegebene Gleichung an und weisen Sie sie als erwartete Ausgabe aus.

Ich war in der Lage, den ax ^ 2-Teil zu bearbeiten, indem ich String-Manipulation und sonst noch Anweisungen verwendete. Aber ich bin nicht sicher, wie man die bx- und c-Teile der Gleichung wegen des Vorzeichens tut, das vor bx und c sein könnte. Hier ist, wie ich den ax ^ 2 Teil der Methode gemacht habe.

%Vor%

Fühlen Sie sich frei, irgendeinen Code als Beispiel zu schreiben. Jede Hilfe würde sehr geschätzt werden.

    
user007 28.02.2013, 06:16
quelle

3 Antworten

2
%Vor%     
orak 28.02.2013 19:08
quelle
1

Hier ist ein Beispiel, wie Sie es mit einem regulären Ausdruck machen können. Bis jetzt funktioniert das nur richtig, wenn die Gleichung im Format ax ^ 2 + bx + c gegeben ist. Es könnte weiter optimiert werden, um die Reihenfolge der Unterbegriffe, fehlende Begriffe usw. zu ändern. Dazu würde ich wahrscheinlich versuchen, für jeden Unterbegriffe reguläre Ausdrücke zu finden. Wie auch immer, dies sollte dazu dienen, Ihnen die allgemeine Idee zu geben:

%Vor%     
ahans 28.02.2013 18:44
quelle
1

Über reguläre Ausdrücke:

%Vor%

Für die String-Analyse, Perl.

Oh, dann mach weiter:

%Vor%

Java-Test in ideone .

Diese behandeln die Formel in beliebiger Reihenfolge, mit oder ohne Anfangszeichen am ersten Ausdruck, und behandeln fehlende Begriffe korrekt. Die Perl-Version korrigiert nicht '+' auf '+1' usw. oder liefert eine explizite '0' für fehlende Begriffe, weil mir die Zeit ausgegangen ist.

    
Phil H 15.05.2013 12:33
quelle

Tags und Links