Программирование на Java для детей, родителей, бабушек и дедушек
107
4. Сконвертировать строковое значение из дисплея в числовой тип double, чтобы иметь возможность хранить большие дробные числа. Произвести арифметическое действие с помощью выбранного действия и первого числа, сохраненных в шаге 2. 5. Показать результат шага 4 на дисплее калькулятора и сохранить это значение в переменной, которая использовалась в шаге 2. Все эти шаги мы запрограммируем в классе CalculatorEngine. Пока вы будете читать следующий текст программы, помните, что метод actionPerformed() будет вызываться после каждого нажатия на кнопку и данные между вызовами этого метода будут храниться в переменных selectedAction и currentResult. import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JButton; public class CalculatorEngine implements ActionListener { Calculator parent;
//ссылка на окно калькулятора
char selectedAction = ' '; double currentResult =0;
// +, -, /, или *
// Конструктор сохраняет ссылку на окно калькулятора // в переменной экземпляра класса CalculatorEngine(Calculator parent){ this.parent = parent; } public void actionPerformed(ActionEvent e){ // Получить источник действия JButton clickedButton =
(JButton) e.getSource();
String dispFieldText=parent.displayField.getText(); double displayValue=0; // Получить число из дисплея калькулятора, // если он не пустой. // Восклицательный знак – это оператор отрицания if (!"".equals(dispFieldText)){ displayValue= Double.parseDouble(dispFieldText);