Einen String als Bedingung auswerten

Status
Nicht offen für weitere Antworten.
K

kopinsky

Gast
Hallo zusammen.

ich habe eine Bedingung als String-Variable und möchte diese nun in einem if-Statement auswerten. Geht das mit Java? Also ungefähr folgendermaßen:

Code:
int a=1;
int b=2;

String bed="a+b>2";

if (bed){
  System.out.println("Die Bedingung ist erfüllt");
}
So geht es natürlich nicht, aber kann ich die String-Variable irgendwie in eine Bedingung wandeln, die dann ausgewertet werden kann? Geht es vielleicht mit Reflection? Oder geht sowas gar nicht?

Wäre nett, wenn mir da jemand einen kleinen Tip geben kann. Danke
Christoph
 

Der Müde Joe

Top Contributor
hää?

was willste den machen

is doch humbuck ein int in einen String zu wandelt
und dan zu iffen

wen dan

if( (a+b) < 2)

oder so
 
G

Guest

Gast
na ja, das war nur ein beispiel. In diesem Zusammenhang macht es natürlich keinen Sinn.

Sagen wir mal, ich möchte Bedingungen an zentraler Stelle ablegen und dann dynamisch auswerten lassen. Dabei möchte ich soviele Bedingungen definieren können wie ich will und alle sollen nacheinander abgearbeitet werden. ich weiss, dass an der Stelle im Code, wo die Bedingungen abgearbeitet werden sollen, eine Variable namens "content" vorhanden ist, und jetzt möchte ich eine Liste von Bedingungen füllen und da zum Beispiel reinschreiben

"content.length()>0 && content.length()<6"
"content=='fish'"
usw.

Und diese Bedinungen sollen dann nacheinander ausgewertet werden.
 

Der Müde Joe

Top Contributor
uiuiuiui schon wieder ==

Strings vergleich man mit equals() oder equalsIgnoreCase()

oder mit idndexOf() oder mit contains()

also

if( myString.equals("fish"))
if( myString.indexOf("fisch) > -1)
if( myString.contains("fi"))

gehe auf FAQ
 
S

SlaterB

Gast
das wird sehr aufwendig,

1.
zum einen den String zu parsen und Zeichen wie < zu verstehen sowie die Verknüpfung zwischen den einzelnen Elementen festzustellen

dies könntest du verhindern, wenn du keinen String 'an zentraler Stelle' ablegst, sondern dort gleich eine Objektstruktur:
statt
String bedingung = "a+b>2";
also
Bedindung bedingung = createGreater(createAdd(createVariable("a"), createVariable("b")),2);

ansonsten muss der Parsen eben diese Objekte aus dem String bauen,
aufwendiger, aber dann kann man Bedinungen lesbarer formulieren ;)

2.
wenn du dann die abstrakte Information 'tue was mit Variable "a"' hast,
dann musst du noch auf die vorhandene Variable a zugreifen,
das geht mit Reflection (vielleicht nur für Exemplarvariablen, nicht für lokale Variablen)

besser wäre es wohl, auf feste Bezeichner zu verzichten
sondern eher mit einer Liste von Parametern zu arbeiten
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
Drachenbauer Wie kann eine vorgegebene Farbe über einen String erkannt werden? Allgemeine Java-Themen 11
S Input/Output Beste Möglichkeit einen String in einen Datei zu Schreiben Allgemeine Java-Themen 2
G Substrings in einen String zusammenfassen Allgemeine Java-Themen 5
KeVoZ_ int Werte in einen String fassen Allgemeine Java-Themen 4
S Einen übergebenen String kopieren Allgemeine Java-Themen 3
B .txt Datei in einen kompletten String konvertieren Allgemeine Java-Themen 20
M String in einen 2D array bringen Allgemeine Java-Themen 2
J String-Typ in einen generischen Typ T umwandeln Allgemeine Java-Themen 6
T Undwandlung eines String in einen InputStream? Allgemeine Java-Themen 3
P Datei in einen String lesen Probleme bei Codierung Allgemeine Java-Themen 2
G Teilstring in einen String einfügen Allgemeine Java-Themen 5
E ein \ in einen String schreiben Allgemeine Java-Themen 3
J Name eines Strings durch einen String festlegbar? Allgemeine Java-Themen 2
P Array in einen String Allgemeine Java-Themen 2
N Prüfen ob ein String in einen Integer umgewandelt werden kan Allgemeine Java-Themen 4
G aus String einen InputStream erstellen Allgemeine Java-Themen 2
M Umwandlung eines Long-Wertes in einen String Allgemeine Java-Themen 2
R StringWriter konvertieren in einen String !!! Allgemeine Java-Themen 2
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
Robert Zenz Ich brauche bitte mal kurz einen Sanity/Reality-Check betreffend Tests. Allgemeine Java-Themen 9
R Wie gestaltet man einen Authentifizierungsflow? Allgemeine Java-Themen 6
berserkerdq2 Jemand einen Tipp wie man ein Javafx-Hintergrund "dynamisch" macht Allgemeine Java-Themen 3
berserkerdq2 Text über einen Shape anzeigen (Scenebuilder) Allgemeine Java-Themen 1
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
N Wie mache ich einen UnitTest? Allgemeine Java-Themen 16
D Klassendesign für einen Pascal Interpreter Allgemeine Java-Themen 6
Jose05 Gibt es einen Nachteil bei dem JDK 8? Allgemeine Java-Themen 7
O Warum kann ich so keine Elemente löschen und erhalte einen IllegalStateException? Allgemeine Java-Themen 4
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
N Validator für einen SQL-Befehl Allgemeine Java-Themen 22
ZH1896ZH Best Practice Wie erstellt man am besten einen Kalender? Allgemeine Java-Themen 3
R Java Stream: Ist es möglich, einen stream zusammenzufassen Allgemeine Java-Themen 6
Zrebna FileUtils.cleanDirectory() - aber einen sub-Ordner "verschonen" Allgemeine Java-Themen 1
MiMa Datei verschieben hat einen Fehler?? Allgemeine Java-Themen 20
L Generator für einen Parser implementieren Allgemeine Java-Themen 13
W Haben Konstruktoren in Java eigentlich immer mindestens einen Parameter? Allgemeine Java-Themen 4
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
A Mithilfe von einer Nummer einen Namen finden n-Beziehung Allgemeine Java-Themen 8
B Long in einen Double umwandeln und im Label anzeigen Allgemeine Java-Themen 7
E Hat der Compiler einen Fehler oder warumbeendet return nicht eine Methode ? Allgemeine Java-Themen 7
MoxxiManagarm Ich brauche einen smarten Ansatz Allgemeine Java-Themen 23
J Gebautes Jar per Maven in einen Docker Container kopieren Allgemeine Java-Themen 0
L File beim Kopieren in einen anderen Ordner umbenennen Allgemeine Java-Themen 6
E Einen Bot Programmieren. Allgemeine Java-Themen 6
F Operationen/Methoden einen WebService im Browser mit Apache Axis aufrufen Allgemeine Java-Themen 4
N Über einen Button in JavaFX ein Event über eine Pipeline schicken(Netty) Allgemeine Java-Themen 1
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
P [Webdriver] einen Datensatz signieren Allgemeine Java-Themen 0
R MAC-Adresse eindeutig für einen PC ? Bezug zu Netzwerk, wieso ? Allgemeine Java-Themen 7
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
N Wie öffne ich einen runtergeladadenen Code in IntelliJ Allgemeine Java-Themen 3
R Wie einen ClientBuilder / JarBuilder programmieren? Allgemeine Java-Themen 14
L Input/Output Wie kann man in der Konsole einen Text farbig ausgeben z.b in grün Allgemeine Java-Themen 6
L Wie programmiert man einen Listener? Allgemeine Java-Themen 1
M Nanosekunden-Pause innerhalb einen Thread-Loops Allgemeine Java-Themen 3
Thallius Wie convertiere ich einen pkcs8 key in einen java lesbaren? Allgemeine Java-Themen 16
M Was braucht man, um einen Java Job zu bekommen? Allgemeine Java-Themen 8
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
N Compiler-Fehler Warum erhalte ich einen Nullpointer Fehler? Allgemeine Java-Themen 2
P Zum src Ordner einen Projektes navigieren Allgemeine Java-Themen 8
J Abhängigkeit zwischen Rechenzeit und Speicherbedarf in einen Algorithmus Allgemeine Java-Themen 7
MaxG. Swing Wie kann man einen Dateiordner auswählen ? Allgemeine Java-Themen 3
D Kopieren von Dateien aus einem Ordner in einen anderen Allgemeine Java-Themen 6
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
S Einen Punkt um den Ursprung drehen Allgemeine Java-Themen 5
Tausendsassa Threads Einen Thread sich selbst schließen lassen Allgemeine Java-Themen 17
M Genaues Bugtracking - jemand einen Vorschlag? Allgemeine Java-Themen 14
L Gibt es in Java einen Property Editor? Allgemeine Java-Themen 2
J Wie erschaffe ich einen sicheren Datenaustausch zwischen Thread und Nicht-Threads Allgemeine Java-Themen 8
L Wie kann ich einen Keystore aus existierenden Zertifikaten erstellen? Allgemeine Java-Themen 1
P Vectorelemente in einen anderen Vector kopieren Allgemeine Java-Themen 12
U in java an einen Rückgabewert aus matlab rankommen Allgemeine Java-Themen 2
B einen color-chooser bauen, ähnliche Farben vermeiden Allgemeine Java-Themen 5
H Gibt es einen großen Unterschied zwischen Java 6 und Java 7? Allgemeine Java-Themen 3
Y Prüfen ob ein Graph immer einen von mehren Enden erreicht Allgemeine Java-Themen 4
J (Java3D) Einen Faden programmieren - Logikproblem Allgemeine Java-Themen 5
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
Rudolf In wie fern lohnt sich C++ für einen Javaentwickler Allgemeine Java-Themen 70
A Welches Speichermanagement für einen Kalkulator Allgemeine Java-Themen 7
S OOP Objekte als Return-Werte: Einen Klon zurückgeben oder Instanz auf das Feld? Allgemeine Java-Themen 10
S RandomAcessFile das einen InputStream wrappt..? Allgemeine Java-Themen 2
H Scanner soll einen Inputredirect einlesen, liest aber nicht jedes Wort ein. Allgemeine Java-Themen 3
H Wie erzeugt man einen Daemon? Allgemeine Java-Themen 7
S Wie beendet man einen Process in Java Platform unabhänging? Allgemeine Java-Themen 8
Z Threads Thread für einen Client Allgemeine Java-Themen 9
A nur einen Wert aus einer .conf lesen und erneuern Allgemeine Java-Themen 3
S MANIFEST DATEI hat nur einen Eintrag Allgemeine Java-Themen 14
M Einen Prozess "crashen" lassen Allgemeine Java-Themen 9
I getResponseCode(); returnt einen falschen Wert? Allgemeine Java-Themen 7
U Wie kann mit einen Java Applet Dateien erstellen,verschieben und löschen? Allgemeine Java-Themen 9
C Argument an einen Thread übergeben Allgemeine Java-Themen 4
A Framework für einen Web Service Allgemeine Java-Themen 6
I %AppData% Variable für einen Prozess setzen Allgemeine Java-Themen 23
V Gibt es einen Variablen Cast? Allgemeine Java-Themen 8
S regex für einen Link Allgemeine Java-Themen 3
M Client für einen Webservice erstellen (ONVIF) Allgemeine Java-Themen 3
M Selbst geschriebener InputStreamReader über einen beliebigen InputStream Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben