/* * Dopo aver sperimentato... * * java TokenizationTest " J( 1,3 , 25 ) " * * Rispondi alla seguente domanda: * Come e' definito il metodo nextElement() * della classe StringTokenizer? */ import java.util.StringTokenizer; public class Tokenization extends StringTokenizer { // Costante: Delimitatori degli elementi sintattici private static final String WHITESPACE = " \n\r\t"; private static final String DELIMITERS = WHITESPACE + "(),"; public Tokenization( String statement ) { super( statement, DELIMITERS,true ); } // Prova anche a commentare il metodo nextToken /**/ public String nextToken() { // throws NoSuchElementException String token; do { token = super.nextToken(); } while ( (WHITESPACE.indexOf(token) >= 0) // Spazio bianco && hasMoreTokens() ); // sintatticamente non significativo return token; } } // Tokenization public class TokenizationTest { public static void main( String[] args ) { Tokenization tokens = new Tokenization( args[0] ); while ( tokens.hasMoreTokens() ) { System.out.print( "<" + tokens.nextToken() + "> " ); } System.out.println(); Tokenization elements = new Tokenization( args[0] ); while ( elements.hasMoreElements() ) { System.out.print( "<" + elements.nextElement() + "> " ); } System.out.println(); } } // TokenizationTest