Seite 2 von 2

Re: Argumente einer gegebenen Funktion bekommen

Verfasst: Do, 28.05.2015 16:28
von darka
Ich habs jetzt geschafft.

Das Programm tut, was man von ihm erwartet :-D

Mein ursprüngliches Problem (wie bekomme ich die Argumente einer gegebenen Funktion) habe ich mit Stringauswertung gelöst.
Dazu habe ich
die Methoden der Klasse String benutzt http://docs.oracle.com/javase/7/docs/ap ... tring.html
und die Methoden der Klassen java.util.regex.Matcher http://docs.oracle.com/javase/7/docs/ap ... tcher.html
und java.util.regex.Pattern http://docs.oracle.com/javase/7/docs/ap ... ttern.html.

Hier ein Beispiel, mit dem man untersuchen kann, ob es sich bei gegebener Formel um einen Zellverweis handelt:
Wobei "formula" vom Typ String ist.

Code: Alles auswählen

if( Pattern.matches( "=[A-Z]+[0-9]+" , formula ) ){}
Hier noch ein Beispiel, mit dem man untersuchen kann, ob es sich bei dem gegebenen Argument einer Formel um eine Konstante (= String/integer/double) handelt. Wobei "argument" vom Typ String ist.

Code: Alles auswählen

if( (argument.charAt(0) == '"') || Pattern.matches("\\-?[0-9]+(\\,[0-9]+)?", argument) ){
	//dann ist argument ein String oder integer oder double
	//tu, was du tun möchtest
}
Wobei

Code: Alles auswählen

argument.charAt(0) == '"'
	//überprüft ob das erste Zeichen ein = ist. Dann enthielte arguments nämlich einen String

Code: Alles auswählen

Pattern.matches("\\-?[0-9]+(\\,[0-9]+)?", argument)
	//überprüft ob die Zeichen, die argument enthält Zahlen sind. Akzeptiert werden negative, positive, integer und double
Ich bin mir natürlich nicht sicher, ob ich wirklich ALLE Fälle abdecken konnte, aber bis jetzt bin ich noch auf keine Fehler gestoßen....
*dreimal auf Holz klopf*

Danke nochmal an alle Helfer!

Gruß, darka