Professional Documents
Culture Documents
Java Controller - Solve 2x2 Equations
Java Controller - Solve 2x2 Equations
import java.awt.Button;
import java.awt.TextField;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.Initializable;
@Override
public void initialize(URL location, ResourceBundle resources) {
calc.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
result.setText("Calculating...");
calculate();
}
});
if(test.contains("X")&&test.contains("Y")&&test.contains("=")&&(test.contains("+")|
|test.contains("-"))) {
//koeficijent a1
if (test.substring(0, test.indexOf('X')).length() == 0) {
this.a1 = 1.0;
}
else
if(test.substring(0,1).contains("-")&&(test.substring(0,test.indexOf('X')).length()
==1)) {
this.a1=-1.0;
}
else {
this.a1 = Double.parseDouble(test.substring(0, test.indexOf('X')));
}
//koeficijent b1
if((test.substring(test.indexOf('X') + 1,
test.indexOf('Y')).contains("+"))) {
if(test.substring(test.indexOf('X') + 1,
test.indexOf('Y')).length()>1) {
this.b1 =Double.parseDouble(test.substring(test.indexOf('X') +
2, test.indexOf('Y')));
}
else{
this.b1=1.0;
}
}
if((test.substring(test.indexOf('X') + 1,
test.indexOf('Y')).contains("-"))) {
if(test.substring(test.indexOf('X') + 1,
test.indexOf('Y')).length()>1) {
this.b1 =(-
1.0)*Double.parseDouble(test.substring(test.indexOf('X') + 2, test.indexOf('Y')));
}
else{
this.b1=-1.0;
}
}
//koeficijent c1
if(test.substring(test.indexOf('=') + 1, test.length()).length()!=0) {
this.c1 = Double.parseDouble(test.substring(test.indexOf('=') + 1,
test.length()));
}
else {
return false;
}
return true;
}
else {
return false;
}
}
if(test.contains("X")&&test.contains("Y")&&test.contains("=")&&(test.contains("+")|
|test.contains("-"))) {
//koeficijent a2
if (test.substring(0, test.indexOf('X')).length() == 0) {
this.a2 = 1.0;
}
else
if(test.substring(0,1).contains("-")&&(test.substring(0,test.indexOf('X')).length()
==1)) {
this.a2 = -1.0;
}
else {
this.a2 = Double.parseDouble(test.substring(0, test.indexOf('X')));
}
//koeficijent b2
if((test.substring(test.indexOf('X') + 1,
test.indexOf('Y')).contains("+"))) {
if(test.substring(test.indexOf('X') + 1,
test.indexOf('Y')).length()>1) {
this.b2 =Double.parseDouble(test.substring(test.indexOf('X') +
2, test.indexOf('Y')));
}
else{
this.b2=1.0;
}
}
if((test.substring(test.indexOf('X') + 1,
test.indexOf('Y')).contains("-"))) {
if(test.substring(test.indexOf('X') + 1,
test.indexOf('Y')).length()>1) {
this.b2 =(-
1.0)*Double.parseDouble(test.substring(test.indexOf('X') + 2, test.indexOf('Y')));
}
else{
this.b2=-1.0;
}
}
//koeficijent c2
if(test.substring(test.indexOf('=') + 1, test.length()).length()!=0) {
this.c2 = Double.parseDouble(test.substring(test.indexOf('=') + 1,
test.length()));
}
else {
return false;
}
return true;
}
else {
return false;
}
}
if(jed1.getText().isEmpty() || jed2.getText().isEmpty()) {
result.setText("Niste upisali jednačine sistema!");
}
else {
double x = 0;
double y = 0;
try {
if(!setParamJed1()&& !setParamJed2()) {
result.setText("Neispravno upisane obje jednačine !");
}
else if(!setParamJed2()) {
result.setText("Neispravno upisana jednačina 2 !");
}
else if(!setParamJed1()) {
result.setText("Neispravno upisana jednačina 1 !");
}
else{
if (det() != 0) {
x = dx() / det();
y = dy() / det();
result.setText(String.format("(X: %.4f) (Y: %.4f)", x,
y));
printCoeffJed1();
printCoeffJed2();
} else if ((dx() == 0 || dy() == 0) && det() == 0) {
result.setText("Beskonačno mnogo rješenja!");
} else {
result.setText("Nemoguć sistem, nema rješenja!");
}
}
} catch (Exception e) {
System.out.println("Error: " + e);
}
}