Class QuadraticExpressionParser

java.lang.Object
math.quadratic.QuadraticExpressionParser

public class QuadraticExpressionParser extends Object
  • Field Details

  • Constructor Details

    • QuadraticExpressionParser

      public QuadraticExpressionParser(String expression)
  • Method Details

    • getCoefficients

      public ArrayList<Double> getCoefficients()
      Returns:
      the coefficients ArrayList object.
    • freeWhiteSpaces

      public void freeWhiteSpaces()
      removes white space from the ArrayList
    • setValid

      public void setValid(boolean valid)
    • isValid

      public boolean isValid()
    • setScanner

      public void setScanner(ArrayList<String> scanner)
    • getScanner

      public ArrayList<String> getScanner()
    • setExpression

      public void setExpression(String expression)
    • getExpression

      public String getExpression()
    • plusAndMinusStringHandler

      private void plusAndMinusStringHandler()
      Handles consecutive strings of plus and minus operators and simplifies them, replacing them with their single equivalent in plus and minus terms.e.g +++---+ is equivalent to a - and --++-- is equivalent to a +.
    • indexOfLetter

      private int indexOfLetter(String input)
      Parameters:
      input - The word to search.
      Returns:
      the first index of occurrence of a letter, and -1 if no letter of the English alphabet is present.
    • startsWithDigitOrPoint

      private boolean startsWithDigitOrPoint(String input)
      Parameters:
      input - The word to search.
      Returns:
      true if the input begins with a digit or a point.
    • startsWithLetter

      private boolean startsWithLetter(String input)
      Parameters:
      input - The word to search.
      Returns:
      true if the input begins with a letter.
    • scan

      private void scan()
      Scan the system.
    • appendOneToStartOfFreeVariables

      public void appendOneToStartOfFreeVariables()
      When the situation x+2y+z=9; is met, this method will convert it into 1.0x+2y+z=9;
    • validateEqualsSymbol

      public void validateEqualsSymbol()
    • validateChars

      public void validateChars()
      Checks the character set of this parser.
    • validateVars

      public void validateVars()
      Checks if the variables are properly arranged wrt other tokens.
    • validateNumbers

      public void validateNumbers()
      Checks the left and right of a number to see if the appropriate items are the ones there. It is a syntax error if an invalid item is found there
    • validateAll

      private void validateAll()
      The validator of the expression.
    • recognizeNegativesAndPositives

      public void recognizeNegativesAndPositives()
    • recognizeCompoundVariables

      public void recognizeCompoundVariables()
      turns the Xsquare into a single variable.
    • getUnknown

      public String getUnknown()
      Returns:
      the name of the unknown.
    • doArithmetic

      public void doArithmetic()
      This method initializes the coefficients field with the coefficient of Xsquared at index 0 the coefficient of X at index 1 the coefficient of the constant term at index 2
    • interpretedSystem

      public String interpretedSystem()
      Returns:
      the reduced form of the system in the form Ax²+Bx+C=0;
    • main

      public static void main(String[] args)