Class LinearSystemParser
java.lang.Object
math.matrix.equationParser.LinearSystemParser
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidWhen the situation x+2y+z=9; is met, this method will convert it into 1.0x+2y+z=9;voidBuilds the Matrix object that will contain the executable generated by this LinearSystemParser object.voidCounts the number of unknowns in the system and compares it with the number of equations in the system.voidHandles split variable arithmetic in + and - alone.intprivate intindexOfLetter(String input) This builds the ideal form of the system with 0 coefficients assigned to parts of the system where an unknown is missing...e.g in 2x+3y+4z=9; 7x+5z=8; 6y=9; This system will eventually be converted into 2x+3y+4z=9; 7x+0y+5z=8; 0x+6y+0z=9;booleanisValid()private booleanstatic voidprivate voidHandles 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 +.private voidscan()Scan the system.voidsetDimension(int dimension) voidsetEndOfLine(String endOfLine) voidsetScanner(ArrayList<String> scanner) voidsetSystemOfEquations(String systemOfEquations) voidsetValid(boolean valid) private booleanstartsWithDigitOrPoint(String input) private booleanstartsWithLetter(String input) private voidvoidChecks the left and right of a number to see if the appropriate items are the ones there.voidChecks the left and right of an operator to see if the appropriate items are the ones there.voidChecks the left and right of all variables to see if the appropriate items are the ones there.
-
Field Details
-
logger
-
systemOfEquations
-
scanner
-
valid
private boolean valid -
dimension
private int dimension -
unknowns
-
equationMatrix
-
endOfLine
-
-
Constructor Details
-
LinearSystemParser
-
-
Method Details
-
setEndOfLine
-
getEndOfLine
-
isValidEndOfLineChar
-
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 +. -
getUnknowns
-
getEquationMatrix
-
setValid
public void setValid(boolean valid) -
isValid
public boolean isValid() -
setDimension
public void setDimension(int dimension) -
getDimension
public int getDimension() -
setSystemOfEquations
-
getSystemOfEquations
-
setScanner
-
getScanner
-
indexOfLetter
- 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
- Parameters:
input- The word to search.- Returns:
- true if the input begins with a digit or a point.
-
startsWithLetter
- Parameters:
input- The word to search.- Returns:
- true if the input begins with a letter.
-
scan
private void scan()Scan the system. -
validateChars
private void validateChars() -
appendOneToStartOfFreeVariables
public void appendOneToStartOfFreeVariables()When the situation x+2y+z=9; is met, this method will convert it into 1.0x+2y+z=9; -
countVariablesAndValidateTheNumberOfEqualsAndSemiColons
public void countVariablesAndValidateTheNumberOfEqualsAndSemiColons()Counts the number of unknowns in the system and compares it with the number of equations in the system. They must be equal and so it carries out this validation also. This method also fills the ArrayList object that records the unknowns in the system with one copy of each unknown found in the system. -
validateVars
public void validateVars()Checks the left and right of all variables to see if the appropriate items are the ones there. It is a syntax error if an invalid item is found there -
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 -
validateOperators
public void validateOperators()Checks the left and right of an operator to see if the appropriate items are the ones there. It is a syntax error if an invalid item is found there -
doAritmetic
public void doAritmetic()Handles split variable arithmetic in + and - alone. e.g 2x+3y+4z+7x-9=3x-8y+2; 4z-2x-9=3x-8y+2z+9; -9x+5y+x=9x-2y+2; is converted into 6x+11y+4z=11; -5x+8y+2z=18; -17x+7y=2; -
buildMatrix
public void buildMatrix()Builds the Matrix object that will contain the executable generated by this LinearSystemParser object. -
interpretedSystem
This builds the ideal form of the system with 0 coefficients assigned to parts of the system where an unknown is missing...e.g in 2x+3y+4z=9; 7x+5z=8; 6y=9; This system will eventually be converted into 2x+3y+4z=9; 7x+0y+5z=8; 0x+6y+0z=9; -
main
-