Почему не работает калькулятор?

Рейтинг: -1Ответов: 1Опубликовано: 06.09.2014

Пытался написать калькулятор. Уровень знания 0.

Когда нажимаю любое из действий, то всё нормально: поле очищается - можно писать chislo2. Когда нажимаю равно, какое бы ни было действие, выдает 1 и всё тут. Подскажите, в чем проблема?

P.S. сам eclipse ошибок не видит

package Calculator;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

import java.awt.*;

import javax.swing.JFrame;

public class construct extends JFrame implements ActionListener {
    static int plusb;
    static int minusb;
    static int delib;
    static int umnozhb;
    boolean plusbb;
    boolean minusbb;
    boolean delibb;
    boolean umnozhbb;
    static long chislo1=0;
    String chislo1s;
    String chislo2s;
    String plusbbb;
    String minusbbb;
    String delibbb;
    String umnozhbbb;
    static long chislo2=0;
    static int howmuch=0;
    JButton plus, minus, umnozh, deli, b1, b2, b3, b4, b5, b6, b7, b8, b9, b0,bc,equals;
    JTextField result;

    public construct(String s){
        super(s);
        setSize(200,200);
        setVisible(true);
        setLayout(new FlowLayout());
        plus = new JButton("+");
        minus = new JButton("-");
        umnozh = new JButton("x");
        deli = new JButton("/");
        b1 = new JButton("1");
        b2 = new JButton("2");
        b3 = new JButton("3");
        b4 = new JButton("4");
        b5 = new JButton("5");
        b6 = new JButton("6");
        b7 = new JButton("7");
        b8 = new JButton("8");
        b9 = new JButton("9");
        b0 = new JButton("0");
        bc = new JButton("C");
        result = new JTextField(15);
        equals = new JButton("=");
        b1.addActionListener(this);
        b2.addActionListener(this);
        b3.addActionListener(this);
        b4.addActionListener(this);
        b5.addActionListener(this);
        b6.addActionListener(this);
        b7.addActionListener(this);
        b8.addActionListener(this);
        b9.addActionListener(this);
        b0.addActionListener(this);
        plus.addActionListener(this);
        minus.addActionListener(this);
        umnozh.addActionListener(this);
        deli.addActionListener(this);
        equals.addActionListener(this);
        bc.addActionListener(this);
        add(result);
        add(plus);
        add(b1);
        add(b2);
        add(b3);
        add(minus);
        add(b4);
        add(b5);
        add(b6);
        add(umnozh);
        add(b7);
        add(b8);
        add(b9);
        add(deli);
        add(bc);
        add(b0);
        add(equals);

    }

    public void actionPerformed(ActionEvent e1) {
        if(e1.getSource()==b1){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+1);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 1;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;
                    }

            }
            else{

            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+1);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 1;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }
            }

        }
        if(e1.getSource()==b2){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+2);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 2;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;}
                    }
                else{

            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+2);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 2;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }
            }

        }
        if(e1.getSource()==b3){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+3);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 3;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;
                    }
            }
            else{

            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+3);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 3;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }
            }

        }
        if(e1.getSource()==b4){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+4);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 4;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;
                    }

            }
            else{
            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+4);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 4;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }
            }

        }
        if(e1.getSource()==b5){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+5);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 5;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;
                    }

            }
            else{
            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+5);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 5;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }
        }
        }

        {
        if(e1.getSource()==b6){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+6);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 6;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;
                    }

            }
            else{
            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+6);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 6;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }
        }

        }
        if(e1.getSource()==b7){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+7);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 7;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;
                    }

            }
            else{
            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+7);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 7;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }
            }

        }
        if(e1.getSource()==b8){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+8);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 8;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;
                    }

            }
            else{
            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+8);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 8;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }
            }

        }
        if(e1.getSource()==b9){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+9);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 9;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;
                    }

            }
            else{
            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+9);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 9;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }
            }

        }
        if(e1.getSource()==b0){
            if(plusb>0||minusb>0||delib>0||umnozhb>0){
                if(howmuch>0||howmuch<0){
                    howmuch=howmuch+1;
                    chislo2 = (long) (chislo2*10+0);
                    chislo2s = String.valueOf(chislo2);
                    result.setText(chislo2s);

                    }
                    else { chislo2 = 0;
                           chislo2s = String.valueOf(chislo2);
                           result.setText(chislo2s); 
                           howmuch=howmuch+1;
                    }

            }
            else{
            if(howmuch>0||howmuch<0){
            howmuch=howmuch+1;
            chislo1 = (long) (chislo1*10+0);
            chislo1s = String.valueOf(chislo1);
            result.setText(chislo1s);

            }
            else { chislo1 = 0;
                   chislo1s = String.valueOf(chislo1);
                   result.setText(chislo1s); 
                   howmuch=howmuch+1;
            }

            }
        }
        if(e1.getSource()==plus){
            plusb= 1;
            howmuch=0;
            result.setText(null);

        }
        if(e1.getSource()==minus){
            minusb = 2;
            howmuch=0;

            result.setText(null);
        }
        if(e1.getSource()==deli){
            delib = 1;
            howmuch = 0;
            result.setText(null);
        }
        if(e1.getSource()==umnozh){
            umnozhb = 1;
            howmuch = 0;
            result.setText(null);
        }
        if(e1.getSource()==equals){
            plusbbb = String.valueOf(plusb);
            plusbb = Boolean.getBoolean(plusbbb="1");
            minusbbb = String.valueOf(minusb);
            minusbb = Boolean.getBoolean(minusbbb="1");
            delibbb = String.valueOf(delib);
            delibb = Boolean.getBoolean(delibbb="1");
            umnozhbbb = String.valueOf(umnozhb);
            umnozhbb = Boolean.getBoolean(umnozhbbb="1");
            if(plusbb = true){
                plusbb=false;
                plusb=0;
                howmuch=0;
                chislo1 = chislo1+chislo2;
                chislo1s = String.valueOf(chislo1);
                result.setText(chislo1s);
            }
            if(minusbb=true){
                minusbb=false;
                minusb=0;
                howmuch=0;
                chislo1 = chislo1-chislo2;
                chislo1s = String.valueOf(chislo1);
                result.setText(chislo1s);
            }
            if(umnozhbb=true){
                umnozhbb=false;
                umnozhb=0;
                howmuch=0;
                chislo1 = chislo1*chislo2;
                chislo1s = String.valueOf(chislo1);
                result.setText(chislo1s);
            }
            if(delibb=true){
                delibb=false;
                delib=0;
                howmuch=0;
                chislo1 = chislo1/chislo1;
                chislo1s = String.valueOf(chislo1);
                result.setText(chislo1s);
            }
        }
        if(e1.getSource()==bc){
            result.setText(null);
            howmuch=0;
            delibb=false;
            delib=0;
            umnozhbb=false;
            umnozhb=0;
            minusbb=false;
            minusb=0;
            plusbb=false;
            plusb=0;
        }

    }

    }
}

Ответы

▲ 1
  if(delibb=true)

Здесь Вы переменной delibb присваиваете значение true ( = оператор присвоения, а == оператор сравнения ) - соответственно условие всегда выполняется и выводится результат деления без остатка.