import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by Lxx on 2017/4/28.
*/
public class Token {
public static final List<String> OPERATORS = Arrays.asList("+","-","*","/");
public static final Map<String,Integer> priorities = new HashMap<>();
static {
priorities.put("+",1);
priorities.put("-",1);
priorities.put("*",2);
priorities.put("/",2);
}
static final int OPERATOR = 1;
static final int NUMBER = 2;
String value;
int type;
public Token(int type,String value){
this.type = type;
this.value = value;
}
public boolean isNumber(){
return type == NUMBER;
}
public boolean isOpretor(){
return type == OPERATOR;
}
public int getIntValue(){
return Integer.valueOf(value).intValue();
}
public String toString(){
return value;
}
public boolean hasHigherPriority(Token t){
if (!this.isOpretor() && !t.isOpretor()){
throw new RuntimeException();
}
return priorities.get(this.value) - priorities.get(t.value) > 0;
}
}