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. 42
      src/main/java/com/ugsbo/matrixcalc/MatrixCalcController.java
  2. 4
      src/main/java/com/ugsbo/matrixcalc/MatrixCalcMath.java

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

@ -44,7 +44,7 @@ public class MatrixCalcController {
double[][] result = math.matrixMultiplication(matrixA, matrixB); double[][] result = math.matrixMultiplication(matrixA, matrixB);
String DisplayableString = util.outputMatrixToOutputText(result); String DisplayableString = util.outputMatrixToOutputText(result);
outputText.setText(DisplayableString); outputText.setText(DisplayableString);
outputText.setTextAlignment(TextAlignment.CENTER); outputText.setTextAlignment(TextAlignment.CENTER);
} }
@ -81,7 +81,7 @@ public class MatrixCalcController {
double[][] result = math.matrixAddition(matrixA, matrixB); double[][] result = math.matrixAddition(matrixA, matrixB);
String DisplayableString = util.outputMatrixToOutputText(result); String DisplayableString = util.outputMatrixToOutputText(result);
outputText.setText(DisplayableString); outputText.setText(DisplayableString);
outputText.setTextAlignment(TextAlignment.CENTER); outputText.setTextAlignment(TextAlignment.CENTER);
} }
@ -100,7 +100,7 @@ public class MatrixCalcController {
double[][] result = math.matrixSubstraction(matrixA, matrixB); double[][] result = math.matrixSubstraction(matrixA, matrixB);
String DisplayableString = util.outputMatrixToOutputText(result); String DisplayableString = util.outputMatrixToOutputText(result);
outputText.setText(DisplayableString); outputText.setText(DisplayableString);
outputText.setTextAlignment(TextAlignment.CENTER); outputText.setTextAlignment(TextAlignment.CENTER);
} }
@ -117,7 +117,7 @@ public class MatrixCalcController {
double result = math.calcDeterminat(matrixA); double result = math.calcDeterminat(matrixA);
String DisplayableString = Double.toString(result); String DisplayableString = Double.toString(result);
outputText.setText(DisplayableString); outputText.setText(DisplayableString);
outputText.setTextAlignment(TextAlignment.CENTER); outputText.setTextAlignment(TextAlignment.CENTER);
} }
@ -128,15 +128,37 @@ public class MatrixCalcController {
MatrixCalcIOUtils util = new MatrixCalcIOUtils(); MatrixCalcIOUtils util = new MatrixCalcIOUtils();
String stringMatrixB = matrixBTextArea.getText(); 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);
outputText.setText(DisplayableString);
} catch (IllegalArgumentException e) {
stop = true;
outputText.setText(e.getMessage());
outputText.setTextAlignment(TextAlignment.CENTER); 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; package com.ugsbo.matrixcalc;
import java.util.ArrayList;
/** /**
* Contains all basic matrix math calculations. * Contains all basic matrix math calculations.
*/ */
@ -155,7 +153,7 @@ public class MatrixCalcMath {
* @param matrixA The Inputmatrix * @param matrixA The Inputmatrix
* @return The Determinant of the Matrix A * @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. // checking if a Determinant can be calculated.
double result = 0.0; double result = 0.0;
if (checkIfMatrixIsQuadradtic(matrixA)) { if (checkIfMatrixIsQuadradtic(matrixA)) {

Loading…
Cancel
Save