Browse Source

Added try catch to DetB inOrder to Display the reason why the input is Invalid

featureMatrixCalculator
Lukas Reichwein 5 years ago
parent
commit
04bbd02fae
  1. 32
      src/main/java/com/ugsbo/matrixcalc/MatrixCalcController.java
  2. 4
      src/main/java/com/ugsbo/matrixcalc/MatrixCalcMath.java

32
src/main/java/com/ugsbo/matrixcalc/MatrixCalcController.java

@ -128,15 +128,37 @@ public class MatrixCalcController {
MatrixCalcIOUtils util = new MatrixCalcIOUtils();
String stringMatrixB = matrixBTextArea.getText();
if (util.checkInput(stringMatrixB)) {
boolean stop = false;
try {
double[][] matrixB = util.stringToMatrix(stringMatrixB);
double result = math.calcDeterminat(matrixB);
util.checkInput(stringMatrixB);
String DisplayableString = Double.toString(result);
} catch (IllegalArgumentException e) {
stop = true;
outputText.setText(DisplayableString);
outputText.setText(e.getMessage());
outputText.setTextAlignment(TextAlignment.CENTER);
e.printStackTrace();
}
if (util.checkInput(stringMatrixB) && !stop) {
double[][] matrixB = util.stringToMatrix(stringMatrixB);
try {
double result = math.calcDeterminat(matrixB);
String DisplayableString = Double.toString(result);
outputText.setText(DisplayableString);
outputText.setTextAlignment(TextAlignment.CENTER);
} catch (IllegalArgumentException e) {
outputText.setText(e.getMessage());
outputText.setTextAlignment(TextAlignment.CENTER);
e.printStackTrace();
}
}
});
}

4
src/main/java/com/ugsbo/matrixcalc/MatrixCalcMath.java

@ -1,7 +1,5 @@
package com.ugsbo.matrixcalc;
import java.util.ArrayList;
/**
* Contains all basic matrix math calculations.
*/
@ -155,7 +153,7 @@ public class MatrixCalcMath {
* @param matrixA The Inputmatrix
* @return The Determinant of the Matrix A
*/
public double calcDeterminat(double[][] matrixA) {
public double calcDeterminat(double[][] matrixA) throws IllegalArgumentException{
// checking if a Determinant can be calculated.
double result = 0.0;
if (checkIfMatrixIsQuadradtic(matrixA)) {

Loading…
Cancel
Save