public class Token
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
Token.Toktype
|
Modifier and Type | Field and Description |
---|---|
private char |
tkOp
|
private Token.Toktype
|
tokType
|
private double |
value
|
Modifier | Constructor and Description |
---|---|
private |
Token()
|
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
anadirEspacios(java.lang.String expresion)
|
boolean |
equals(java.lang.Object o)
|
private static boolean |
esOp(char c)
|
private static boolean |
esParenDCH(char c)
|
private static boolean |
esParenIZQ(char c)
|
char |
getTkOp()
|
static Token[] |
getTokens(java.lang.String expr)
|
Token.Toktype |
getTokType()
|
double |
getValue()
|
static Token |
tokNumber(double value)
|
static Token |
tokOp(char operador)
|
static Token |
tokParen(char paren)
|
java.lang.String |
toString()
|
private Token.Toktype tokType
private double value
private char tkOp
public static Token tokNumber(double value)
value
- valor del token que crearemosEste metodo lo que hace es recivir un valor el cual sera un numero integro. Despues instancia un nuevo token, y asignamos un tipo de token "Number" Asignamos el valor que le corresponde y retornamos dicho token
public static Token tokOp(char operador)
operador
- Operador de dicho tokenLo que hacemos es recibir el caracter del token que le corresponde Ex: + - * / ^ Despues instanciamos un nuevo token y le asignamos los valores que le pertañen
public static Token tokParen(char paren)
paren
- Parentesis de dicho operadorRecibimos el parentesis que queremos crear en token Añadimos a dicho token todos sus valores necesarios y lo retornamos
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public static Token[] getTokens(java.lang.String expr)
expr
- String que contiene una expresion matematica la cual hemos
de usar
Recibimos una expresion matematica la cual separamos los operadores / parentesis con espacios y hacemos un split por los espacios, despues lo que hacemos es ir recorriendo pieza a pieza y dependiendo de que tipo sea generaremos un token el cual añadiremos a la lista de tokens que despues retornaremos
private static boolean esOp(char c)
c
- caracter que recibimosEste metodo nos retorna true si el caracter que recibimos es un operador, false si no lo es
private static boolean esParenDCH(char c)
private static boolean esParenIZQ(char c)
public Token.Toktype getTokType()
public double getValue()
public char getTkOp()
private static java.lang.String anadirEspacios(java.lang.String expresion)
expresion
- Espresion que nos pasanA la expresion que recibimos lo que hacemos es añadir un espacio entre los numeros y los operadores Ex: 45+(45-23) --> 45 + ( 45 - 23 )