Witam no nie mogę znaleźć błędu, jak go rozwikłać?
package main.java.calculator;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.text.Text;
public class CalculatorController {
@FXML
Label result;
Text output = new Text();
String number1 = "", operator = "";
boolean equalsClicked = false;
public void initialize() {
result.textProperty().bind(output.textProperty());
output.setText("");
}
@FXML
private void numberButtonAction(ActionEvent event) {
output.setText(output.getText() + ((Button) event.getSource()).getText());
}
@FXML
private void processButtonAction(ActionEvent event) {
if (number1 == "" && output.getText() != "") {
number1 = output.getText();
} else if (number1 != "" && output.getText() != "" && !equalsClicked) {
number1 = String.valueOf(CalculationModel.calculate(Integer.parseInt(number1), Integer.parseInt(output.getText()), operator));
} else if (number1 != "" && output.getText() != "" && equalsClicked) {
operator = ((Button) event.getSource()).getText();
number1 = String.valueOf(CalculationModel.calculate(Integer.parseInt(number1), Integer.parseInt(output.getText()), operator));
equalsClicked = false;
} else if (operator != "" && output.getText() == "") {
System.out.println("Operator has changed!");
} else {
output.setText("");
return;
}
output.setText("");
operator = ((Button) event.getSource()).getText();
}
@FXML
private void equalsButtonAction() {
if (number1 != "" && output.getText() != "") {
number1 = String.valueOf(CalculationModel.calculate(Integer.parseInt(number1), Integer.parseInt(output.getText()), operator));
equalsClicked = true;
}
output.setText(number1);
}
@FXML
private void CButtonAction() {
number1 = operator = "";
output.setText("");
}
}
package main.java.calculator;
public class CalculationModel {
public static int calculate(int val1, int val2, String operator) {
switch (operator) {
case "+": {
return val1+val2;
}
case "-": {
return val1-val2;
}
case "x": {
return val1*val2;
}
case "/": {
if(val2!=0)
return (int)(val1/val2);
}
default:
System.out.println("error");
return 0;
}
}
}