Member 13293844 Ответов: 1

Я сделал калькулятор в netbeans с правильным кодом, он делает "a+b+c...", но он не смог выполнить несколько операций "a+b-c..." одновременно


Я сделал калькулятор в netbeans с правильным кодом, он делает "a+b+c...", но он не смог выполнить несколько операций "a+b-c..." одновременно

Как вставить скобку, чтобы решить эту проблему

Что я уже пробовал:

мой код таков
1. печать номера несколько раз
if(s==null)
        {
            jTextField.setText(jTextField.getText()+"1");
        }
        else
        {
            //totle+=Double.parseDouble(jTextField1.getText());
           p=s;
            s=null;
            jTextField.setText("1");
        }

//here double totle=0; string s=sign; p=for identifying sign;

2. Code for add.
        s="+";
        totle+=Double.parseDouble(jTextField.getText());

//3. code for subtract.

         s="-";
        if(totle!=0){
        totle-=Double.parseDouble(jTextField.getText());}
        else
        {
            totle=Double.parseDouble(jTextField.getText());
        }
         
//4. code for equal to sign

         if(p=="+")   
        {
        totle+=Double.parseDouble(jTextField.getText());
        
        jTextField.setText(""+totle);
        
        totle-=totle;
        s=null;
        }
        else if(p=="-")
       {
           
         totle-=Double.parseDouble(jTextField.getText());
        
        jTextField.setText(""+totle);
        totle-=totle;
        s=null;  .

1 Ответов

Рейтинг:
1

Richard MacCutchan

Я не могу до конца разобраться в вашем коде, так как он кажется несколько случайным, хотя там довольно много чего не хватает. Вы должны попробовать сначала написать необходимые шаги на бумаге, прежде чем приступать к кодированию, так что это должно быть что-то вроде:

SET Total = 0
do
{
    get next input value
    get next operator
    switch (operator)
    {
    case '+'
        add value to Total
        break
    case '-'
        subtract value from Total
        break
//  etc for other operators
    }
    display Total
} while (operator != '=')

Вы можете добавить дополнительную логику для сброса Total, когда новое значение вводится после обработки оператора equals.