Quote:
Originariamente inviato da banryu79
Poi solo una cosa, che temo di non aver afferrato.
Se hai una espressione così: "15+4*sin(1.57)..." e semplicemente "sin" non lo usi come delimiter, ti dovrebbe venire restituito come token, no?
Codice:
public class Parser
{
public static void main(String... args) {
String delimiter = "+-*/()";
String expression="15+4*sin(1.57)";
StringTokenizer tokenizer = new StringTokenizer(expression, delimiter, true);
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
}
}
// OUTPUT:
15 // token
+ // delimiter
4 // token
* // delimiter
sin // token
( // delimiter
1.57 // token
) // delimiter
...
|
Beata stupidità

. L'uovo di Colombo ... veramente.
Non sò come ho fatto a non pensarci.
Grazie mille
Quote:
|
Ora per quanto riguarda StringTokenizer, è doveroso sottolineare (visto che stai facendo una tesi magari ti può interessare, e forse già lo sai) che questa è una classe che è stata mantenuta nelle API per ragioni di retrocompatibilità e il suo uso è scoraggiato: chi vuole ottenere la stessa funzionalità è invitato a usare il metodo split di String, oppure il package java.util.regex. In pratica invitano ad usare le API basate sulle espressioni regolari.
|
Queste sono preziose informazioni. Ci darò sicuramente un occhio.
Grazie ancora