(JAVA) Как добавить несколько номеров с помощью прослушивателя событий? - PullRequest
0 голосов
/ 20 марта 2020

Я создаю GUI приложение с Netbeans, которое принимает несколько чисел с плавающей запятой после каждого нажатия кнопки. Я использую прослушиватель событий, и каждый раз, когда вы вводите число и нажимаете его, на кнопке должна отображаться сумма, количество введенных значений, максимальное значение, минимальное значение и среднее значение. Проблема в том, что я не знаю, как go узнать о максимальных и минимальных значениях, также каждый раз, когда я нажимаю на него, просто обновляется введенный номер, и он не добавляется к предыдущему номеру.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

   float _min;
   float _max;
   float _avg = 0;
   float _total = 0;
   float _sum = 0;
   float _number = 0 ;


   try {
       _number = Float.parseFloat(this.numberIn.getText());
   }
   catch (NumberFormatException e) {
       JOptionPane.showMessageDialog(this, "Invalid input", "Error",JOptionPane.ERROR_MESSAGE);
       }

   _total++;
   _sum += _number;
   _avg = _sum/_total;

   this.sumLbl.setText(" Sum: " + _sum);


    }                                        

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Это происходит потому, что каждый раз, когда вы нажимаете эту кнопку, вы фактически создаете новые переменные _avg, _total et c .. Вам необходимо исключить эти переменные вне метода jButton1ActionPerformed (java .awt.event.ActionEvent evt).

1 голос
/ 20 марта 2020

Это потому, что вы определяете свои переменные внутри прослушивателя событий.

Функция actionPerformed установит для ваших int значения 0 на каждое действие.

 float _min;
 float _max;
 float _avg = 0; --->here
 float _total = 0; --->here
 float _sum = 0; --->here
 float _number = 0 ; --->here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...