Почему не работает калькулятор?
Пытался написать калькулятор. Уровень знания 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;
}
}
}
}
Источник: Stack Overflow на русском