public static Equation parseEquation(String strEquation) throws InvalidEquationException{
		//Create a list of expressions
		ArrayList<Expression> expressionList = new ArrayList<Expression>();

		//Create a queue of integers
		LinkedList<Integer> digits = new LinkedList<Integer>();
		//for each character in the answer string
		for(int i = 0; i < strEquation.length(); i++){
			if((Character.isDigit(strEquation.charAt(i)))){
				String digit = strEquation.substring(i, i+1);
				//Add the digit to the queue
				digits.addLast(Integer.parseInt(digit));

				//Make sure the next character is a digit, or there is a next character
				if(strEquation.length() - 1 == i || !Character.isDigit(strEquation.charAt(i+1))){
					//If it's not, get the integer represented by the digits
					int val = ListToInt(digits);

					//Add a numerical expression to the expression list
					expressionList.add(new NumericalExpression(val));
					//Clear the list of digits
					digits.clear();
				}
			}
			else if(strEquation.charAt(i) == '+'){
				expressionList.add(new AdditionExpression());
			}
			else if(strEquation.charAt(i) == '-'){
				expressionList.add(new SubtractionExpression());
			}
			else if(strEquation.charAt(i) == '*'){
				expressionList.add(new MultiplicationExpression());
			}
			else if(strEquation.charAt(i) == '/' || strEquation.charAt(i) == '/'){
				expressionList.add(new DivisionExpression());
			}
		}
		
		return new Equation(expressionList);
	}