Class LinearSystemParser
java.lang.Object
math.matrix.equationParser.LinearSystemParser
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
When the situation x+2y+z=9; is met, this method will convert it into 1.0x+2y+z=9;void
Builds the Matrix object that will contain the executable generated by this LinearSystemParser object.void
Counts the number of unknowns in the system and compares it with the number of equations in the system.void
Handles split variable arithmetic in + and - alone.int
private int
indexOfLetter
(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;boolean
isValid()
private boolean
static void
private void
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 +.private void
scan()
Scan the system.void
setDimension
(int dimension) void
setEndOfLine
(String endOfLine) void
setScanner
(ArrayList<String> scanner) void
setSystemOfEquations
(String systemOfEquations) void
setValid
(boolean valid) private boolean
startsWithDigitOrPoint
(String input) private boolean
startsWithLetter
(String input) private void
void
Checks the left and right of a number to see if the appropriate items are the ones there.void
Checks the left and right of an operator to see if the appropriate items are the ones there.void
Checks 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
-