public String[] analyze(String input) { StringTokenizer stringTokenizer = new StringTokenizer(input.replace(" ", ""), "+-*/()<!F", true); String tokens[] = new String[stringTokenizer.countTokens()]; for (int i = 0; i < tokens.length; i++) { tokens[i] = stringTokenizer.nextToken(); } for (int i = 0; i < tokens.length; i++) { for (Token token : Token.values()) { if (tokens[i].equals(token.getCharacter())) { tokens[i] = token.name(); } else { try { Integer.parseInt(tokens[i]); break; } catch (NumberFormatException ex) { } } } } return tokens; }