Mam problem z pojęciem " Negacja" muszę wprowadzić to swoim kalkulatorze. Negacja czyli po prostu minus przed liczbą

0

package sample;

import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;

public class Controller {
@FXML
public Button button1,button2,button3,button4,button5,button6,button7,button8,button9,button0,divide,multiply,subtract,equals,add,Cancel,Negacja;
public TextArea ResultArea;

public void buttonWcisniety()
{
    //System.out.println("Klikniety 1 !");
    ResultArea.insertText(ResultArea.getLength(), "1");
}

public void buttonDivide()
{
    //System.out.println(ResultArea.getText(ResultArea.getLength()-1, ResultArea.getLength()));

    if((ResultArea.getLength()>0) && (ResultArea.getText(ResultArea.getLength()-1, ResultArea.getLength()).matches("[0-9]")))
     ResultArea.insertText(ResultArea.getLength(), " / ");

}

public void buttonCancel()
{
    ResultArea.clear();
}

public void Negacja()
{
    if((ResultArea.getLength()>0) && (ResultArea.getText(ResultArea.getLength()-1, ResultArea.getLength()).matches("[0-9]")))
        ResultArea.insertText(ResultArea.getLength(), " N ");

}

public void buttonEquals()
{
    if((ResultArea.getLength()>0) && (ResultArea.getText(ResultArea.getLength()-1, ResultArea.getLength()).matches("[0-9]"))){
        String buffer = ResultArea.getText();
        String[] listOfNumber = buffer.split(" ");
        double result = Double.parseDouble(listOfNumber[0]);
        for(int i=1; i<listOfNumber.length;i+=2){

            switch(listOfNumber[i]) {
                case "/":
                    result /=Double.parseDouble(listOfNumber[i + 1]);
                    break;
                case "+":
                    result +=Double.parseDouble(listOfNumber[i + 1]);
                    break;
                case  "*":
                    result *=Double.parseDouble(listOfNumber[i + 1]);
                    break;
                case "-":
                    result -=Double.parseDouble(listOfNumber[i + 1]);
                    break;
                default:
                    break;
            }
        }

        ResultArea.setText((String.valueOf(result)));
    }

}

}

0

Nie rozumiem. Jak odejmujesz np. 1-2 to dostaniesz -1

1

Double.parseDouble() jak podasz mi stringi "-1" to przerobi to na -1.0

1 użytkowników online, w tym zalogowanych: 0, gości: 1