2015-03-12 3 views
-1

Он заменяет переменную num в текстовом поле каждый раз, когда я нажимаю новую кнопку. Я хочу, чтобы он показывал каждый новый номер один за другим, когда я нажимаю на разные кнопки, а затем в конечном итоге добавляю/вычитаю/умножаю и разделяю их, и, если возможно, вы можете дать мне представление о том, как выполнять математическую операцию на двух разных блоках чисел , вашей помощь будет оцененаim пытается построить калькулятор в java gui

private class TheHandler implements ActionListener{ 

    public void actionPerformed(ActionEvent e) { 

     //add values to buttons 
     String num = ""; 
     if(e.getSource()==btn[0]){ 
      //tDisplay.setText("7"); 
      num = "7"; 
     }else if(e.getSource()==btn[1]){ 
      //tDisplay.setText("8"); 
      num = "8"; 
     }else if(e.getSource()==btn[2]){ 
      //tDisplay.setText("9"); 
      num = "9"; 
     }else if(e.getSource()==btn[5]){ 
      //tDisplay.setText("4"); 
      num = "4"; 
     }else if(e.getSource()==btn[6]){ 
      //tDisplay.setText("5"); 
      num = "5"; 
     }else if(e.getSource()==btn[7]){ 
      //tDisplay.setText("6"); 
      num = "6"; 
     }else if(e.getSource()==btn[10]){ 
      //tDisplay.setText("1"); 
      num = "1"; 
     }else if(e.getSource()==btn[11]){ 
      //tDisplay.setText("2"); 
      num = "2"; 
     }else if(e.getSource()==btn[12]){ 
      //tDisplay.setText("3"); 
      num = "3"; 
     }else if(e.getSource()==btn[15]){ 
      //tDisplay.setText("0"); 
      num = "0"; 
     } 

     //set the values to the text field 

     tDisplay.setText(num); 

    } 

} 
+1

Сохраните номерную область в виде строки и добавьте цифры, расположенные справа от строки, и для арифметических операций проанализируйте строку с целым числом/двойным – cjcroix

+2

Как только приложение будет работать по назначению, вы должны поместить код приложения в http: //codereview.stackexchange.com для конструктивного ceiticism. – EpicPandaForce

ответ

1

Вот код

tDisplay.setText(tDisplay.getText()+num); 

Проверка, если 0 было нажат первой, чтобы избежать ряда, как это «015»

if (tDisplay.getText().equals("0")) 
    tDisplay.setText(num); 
else 
    tDisplay.setText(tDisplay.getText()+num); 

Когда вы нажимаете операторная кнопка должна сохранить значение и изменить флаг, а при нажатии кнопки равенства сохранить второе записанное значение и выполнить выбранную операцию (со значением флага).

Смежные вопросы