Gleichungen dynamisch erstellen und ausrechnen?

Status
Nicht offen für weitere Antworten.

magic_halli

Bekanntes Mitglied
Hi,

ich habe folgendes Problem und bin mir nicht sicher, ob das mit Java überhaupt zu lösen ist.
In einer Textdatei stehen zeilenweise math. Formeln, bspw.:
a=b+c
d=e/f*g
sigma=a/d+a/d
Diese Formeln können ganz verschieden sein - also gibt es schonmal keine festes Schema!
Ich möchte diese Textdatei zeilenweise auslesen und jede Formel ausrechnen - mit Java.
Nun kann ich ja aber in Java nicht einfach den Rechenweg fest implementieren, da, wie gesagt, die Formeln bzw. der Rechenweg immer unterschiedlich sein kann.
Kann ich in Java irgendwie, quasi dynamisch, solche Formeln, die ich mir aus einer Textdatei hole, berechnen???
Ich wüßte erstmal nicht, wie ich hier überhaupt rangehen könnte! :cry:

Danke.
 
S

SlaterB

Gast
> also gibt es schonmal keine festes Schema!
du meinst damit nur die Variablen/ Werte, die verknüpft werden oder?
+ bleibt immer + und Punktrechnung gilt immer vor Strichrechnug?

du brauchst einen Parser, der diesen Text versteht,
nicht viel anders als dein Browser, der simple HTML-Dateien interpretiert und anzeigt

ein Beispiel aus der FAQ:
http://www.java-forum.org/de/viewtopic.php?t=13378

bei dir kommt noch die Belegung der Variablen hinzu,

Hinweis (nicht persönlich nehmen):
wenn dir bis eben noch nicht einmal die Möglichkeit des Parsens bekannt war,
dann dürfte das ein deutlich zu schwieriges Thema für dich sein,
aber man lernt ja immer dazu,
nur nicht erwarten dass das mit ein paar Handgriffen erledigt ist,
ein riesige Aufgabe
 

magic_halli

Bekanntes Mitglied
,,,die Möglichkeit des Parsens ist mir bekannt und das muss ich ja auch anwenden, um die einzelnen Variablen zu extrahieren!
Problem ist aber auch (hab´s vergessen zu erwähnen), dass die Rechenzeichen immer unterschiedlich sein können und auch mal ein sqrt vorkommen kann - also ohne jegliches Schema, welches man ableiten könnte!

PS: Die Belegung der Variablen... dafür hab ich schon ne Lösung im Kopf. :wink:
 
S

SlaterB

Gast
ja natürlich sind die Rechenzeichnen nicht vorgegeben (sqrt ist auch nichts anderes als + oder -),
wenns vorgegeben wäre, dann bräuchte man nicht unbedingt einen allgemeinen Parser

ein allgemeiner Parser ist aber ein Parser, der mit sowas umgehen kann,
er liest die Eingabe, und je nachdem ob es ein +, - oder sqrt ist, reagiert er in der richtigen Weise
 

magic_halli

Bekanntes Mitglied
So, ich hab jetzt mal den Formelparser aus den FAQ ( www.java-forum.org/de/viewtopic.php?t=13378 ) in ein Testprogramm gebaut... Nur leider gibts hier pauschal erstmal ne Latte voll Fehlermeldungen beim compilieren. Ich dachte, zum Testen kann man das Teil erstmal so wie er ist durchlaufen lassen?! Muß ich denn hier nochwas anpassen - sah eigentlich so aus, als würde das sofort funktionieren?!
 

magic_halli

Bekanntes Mitglied
So,

der Formelparser funktioniert nun auch bei mir einwandfrei! :wink:

Ich brauche hierbei allerdings noch das Parsen für die Wurzelfunktion sqrt.
Macht das viel Arbeit, dies noch mit aufzunehmen? Ich blicke noch nicht 100% durch, wo ich das wie reinbringen soll... Könnt ihr mir nen Tip geben?!

Danke.
 

Ariol

Top Contributor
im Konstruktor des Parsers

Code:
operations.add( new Operation(){
          public int getPriority() {
             return 2;
          }
          public String getSymbol() {
             return "sqrt";
          }
          public boolean asPrefix() {
             return true;
          }
          public double calculate( double a, double b ) {
             return Math.sqrt(b);
          }
          public String toString() {
             return getSymbol();
          }
       });
einfügen


Der entsprechende String für Wurzel von 5 => "sqrt5" oder "sqrt 5" oder "sqrt(5)",....
 
G

Gast

Gast
Meinst du etwa die <Generics>?

Einfach die eckigen Klammern samt Inhalt weglassen und beim Benutzen einen Typecast machen. Sollte in der Klammer Object gestanden haben, kann der Typecast auch weggelassen werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Erste Schritte Loesen von quadratischen Gleichungen Java Basics - Anfänger-Themen 3
H Wie kann ich in Java unbekannte Variablen in Gleichungen darstellen? Java Basics - Anfänger-Themen 3
F Quadratische Gleichungen Java Basics - Anfänger-Themen 6
Screen Kurvendiskussion Quadratische Gleichungen Java Basics - Anfänger-Themen 15
J Lösen linearer Gleichungen Java Basics - Anfänger-Themen 3
districon Dynamisch Programmierung/Backtracking/Memoization Java Basics - Anfänger-Themen 3
T Klassen Denkfehler im Klassen "dynamisch" instanzieren? Java Basics - Anfänger-Themen 4
J Verundung dynamisch gestalten Java Basics - Anfänger-Themen 21
B Folgende Abfrage dynamisch programmieren? Java Basics - Anfänger-Themen 8
R Datenbank-Werte dynamisch ausgeben Java Basics - Anfänger-Themen 19
D new arraylist (List) dynamisch erstellen Java Basics - Anfänger-Themen 1
B Klassen Klasse dynamisch laden. Java Basics - Anfänger-Themen 8
N Dynamisch erzeugtes Label wird nicht angezeigt, TextField schon Java Basics - Anfänger-Themen 1
D Koordinatensystem dynamisch anpassen Java Basics - Anfänger-Themen 17
J Tableview, ObservableList ein bisschen dynamisch Java Basics - Anfänger-Themen 6
C Array - Länge dynamisch übergeben Java Basics - Anfänger-Themen 7
D Erste Schritte Dynamisch Objekte erzeugen und diese durchsuchen Java Basics - Anfänger-Themen 7
GreyFox Object dynamisch mit werten versehen. Java Basics - Anfänger-Themen 4
G Array dynamisch ausgeben Java Basics - Anfänger-Themen 3
S JTable dynamisch mit Datenbankinhalten füllen Java Basics - Anfänger-Themen 6
F Erste Schritte If Bedingung in Schleife dynamisch erweitern Java Basics - Anfänger-Themen 4
K JLabel zur Laufzeit dynamisch erzeugen Java Basics - Anfänger-Themen 7
V Text aus einer .txt dynamisch ins applet einpassen Java Basics - Anfänger-Themen 0
Y Eingabe-Formular mit JSP dynamisch machen - j/n/wie? Java Basics - Anfänger-Themen 2
N Dynamisch JTree erstellen Java Basics - Anfänger-Themen 3
R Objekte dynamisch erstellen? Java Basics - Anfänger-Themen 14
C Variablen Array dynamisch halten und ausrechnen Java Basics - Anfänger-Themen 14
N Ergebnisse dynamisch in Tabelle schreiben Java Basics - Anfänger-Themen 3
G JObjekte dynamisch vom Server erzeugen lassen Java Basics - Anfänger-Themen 4
I Dynamisch erzeugten Buttons Methoden zuweisen Java Basics - Anfänger-Themen 6
H Objekte dynamisch erzeugen? Java Basics - Anfänger-Themen 6
M Variablen dynamisch variableninhalt von Object auslesen Java Basics - Anfänger-Themen 4
S if-Block dynamisch aufbauen Java Basics - Anfänger-Themen 5
M Static Variable "dynamisch" aufrufen? Java Basics - Anfänger-Themen 8
B Klassen Objekte während der Laufzeit dynamisch anlegen Java Basics - Anfänger-Themen 8
A JButtons dynamisch generieren mit verschiedenen actionhandlern Java Basics - Anfänger-Themen 6
P Scrollpane mit dynamisch erzeugten Komponenten Java Basics - Anfänger-Themen 3
U JPanel dynamisch gestalten Java Basics - Anfänger-Themen 7
R Liste graphischer Objekte z.B. JButton dynamisch erstellen Java Basics - Anfänger-Themen 13
A Dynamisch die Anzahl der Threads in der Cyclic Barrier ändern Java Basics - Anfänger-Themen 2
K Datentypen Full qualified Name dynamisch gestalten Java Basics - Anfänger-Themen 7
M For-Schleifen dynamisch generieren? Java Basics - Anfänger-Themen 10
sqsh statische jlabels dynamisch verwalten Java Basics - Anfänger-Themen 2
O Wie kann man das einfach lösen? (dynamisch viele Attribute) Java Basics - Anfänger-Themen 6
L Tray-Einträge und dazu passende ActionListener dynamisch erzeugen? Java Basics - Anfänger-Themen 2
D JPanel dynamisch anpassen Java Basics - Anfänger-Themen 5
S Dialog dynamisch vergrößern Java Basics - Anfänger-Themen 2
S Dynamisch Zeit auslesen Java Basics - Anfänger-Themen 11
M JTextPane dynamisch erzeugen Java Basics - Anfänger-Themen 2
J Aufgaben Dynamisch auf Pool von Threads verteilen. Java Basics - Anfänger-Themen 3
D ArrayList dynamisch befüllen Java Basics - Anfänger-Themen 14
G Objekteigenschaften dynamisch erzeugen Java Basics - Anfänger-Themen 7
jnoob Checkbox in Dialog Dynamisch erstellen Java Basics - Anfänger-Themen 2
K suche nicht dynamisch Datenstruktur Java Basics - Anfänger-Themen 6
J ListModel dynamisch und schnell aber sicher ändern Java Basics - Anfänger-Themen 7
M Dynamisch Instanzen erstellen. Java Basics - Anfänger-Themen 4
G Zweidimensionales Array - dynamisch Java Basics - Anfänger-Themen 4
B arrays dynamisch vergrößern Java Basics - Anfänger-Themen 5
V Kundenklasse dynamisch erzeugen und id hochzählen? Java Basics - Anfänger-Themen 4
C Dynamisch durch alle Objektvariablen eines Objektes iteriere Java Basics - Anfänger-Themen 15
P JPanel dynamisch mit ActionListener verwalten Java Basics - Anfänger-Themen 3
R Arraygroesse dynamisch anpassen Java Basics - Anfänger-Themen 8
X this dynamisch, super statisch? Java Basics - Anfänger-Themen 3
G Namen von ArrayListen dynamisch erzeugen Java Basics - Anfänger-Themen 4
H variable dynamisch ändern Java Basics - Anfänger-Themen 2
G Klasse dynamisch ohne Datei compilieren: Fehler Java Basics - Anfänger-Themen 4
G Klasse dynamisch nachladen: Fehler Java Basics - Anfänger-Themen 9
T Array Dynamisch Erweiterm Java Basics - Anfänger-Themen 15
H dynamisch Klassen laden und ausführen Java Basics - Anfänger-Themen 3
G Pfad dynamisch gestalten. Java Basics - Anfänger-Themen 3
B Matrix Dynamisch erzeugen Java Basics - Anfänger-Themen 3
G JTable dynamisch erzeugen. Java Basics - Anfänger-Themen 2
D Labels Dynamisch ? Java Basics - Anfänger-Themen 5
6 Swing: Dynamisch erzeugte Objekte sind verschoben Java Basics - Anfänger-Themen 2
G Variablenname dynamisch vergeben Java Basics - Anfänger-Themen 10
H 2DArray manuell dynamisch erweitern Java Basics - Anfänger-Themen 7
G Länge eines Array trimmen oder dynamisch verändern. Java Basics - Anfänger-Themen 3
M Dynamisch Klassen aufrufen Java Basics - Anfänger-Themen 4
H JLabel dynamisch anzeigen? Java Basics - Anfänger-Themen 10
T ActionListener zu Buttons dynamisch zuordnen Java Basics - Anfänger-Themen 10
G dynamisch Jtextfields erzeugen Java Basics - Anfänger-Themen 3
M HTML Seite die Daten in JavaApplet dynamisch verarbeiten Java Basics - Anfänger-Themen 2
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
H Variablenname dynamisch festlegen Java Basics - Anfänger-Themen 3
J Tabelle mit mehreren Zeilen dynamisch aufbauen Java Basics - Anfänger-Themen 2
K Bild dynamisch erstellen Java Basics - Anfänger-Themen 2
M Klasse dynamisch erzeugen! Java Basics - Anfänger-Themen 4
M [SOLVED]JComboBoxen dynamisch erstellen und abfragen Java Basics - Anfänger-Themen 2
S Dynamisch Platz für ein Array reservieren? Java Basics - Anfänger-Themen 7
Z Objekte dynamisch erzeugen Java Basics - Anfänger-Themen 19
O Variabelnamen dynamisch generieren Java Basics - Anfänger-Themen 3
E Klassenaufrufe dynamisch mit Reflection Java Basics - Anfänger-Themen 4
J Instanzen dynamisch erzeugen Java Basics - Anfänger-Themen 8
G jar dynamisch laden Java Basics - Anfänger-Themen 6
B Kann man in Java Variablen dynamisch generieren? Java Basics - Anfänger-Themen 3
B JTextField dynamisch anpassen Java Basics - Anfänger-Themen 6
G Komponenten dynamisch auf contentPane einbinden Java Basics - Anfänger-Themen 5
S Objekte dynamisch anlegen Java Basics - Anfänger-Themen 3
G Objekt Namen dynamisch vergeben. Java Basics - Anfänger-Themen 7
T Newbie Frage. Vector dynamisch benennen :( Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben