double z; // Вещественные переменные
double x, y; // Вещественные переменные
// int x, y; // Целочисленные переменные
a = jTextField1.getText(); // Получение значения из окошка 1
b = jTextField2.getText(); // Получение значения из окошка 2
try { // Начало защищенного блока
x = Double.parseDouble(a); // Преобразование текстового значения в вещественное
y = Double.parseDouble(b); // Преобразование текстового значения в вещественное
// x = Integer.parseInt(a); // Преобразование текстового значения в целочисленное
// y = Integer.parseInt(b); // Преобразование текстового значения в целочисленное
z = x / y; // Вычисление выражения
// z = (double)( x) / (double) (y); // Вычисление выражения
// Проверка на: 0/0, z/0
if ((Double.isNaN(z) == true) || Double.isInfinite(z) == true) {
throw new Exception("error"); // Если нет решение то генерирование ошибки
}
// Описание формата вещественного числа
DecimalFormat df = new DecimalFormat("#0.00");
c = String.valueOf(df.format(z)); // Преобразование числа в строку
jTextField3.setText(c); // Вывод ответа в окошко
// jTextField3.setText(String.valueOf(new DecimalFormat("#0.00").format(z))); // Вывод ответа в окошко
} catch (Exception ee) { // Обработчики ошибок защищенного блока
Toolkit.getDefaultToolkit ().beep (); // Звуковой сигнал
jTextField3.setText("Неверные данные!"); // Обработка ошибки ввода или вычисления
} // Конец защищенного блока
}
Рассмотрим пример кода кнопки «Решить» и «Выход» для расчета математического значения по условию:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Решение примера
float x, b, d, y; // Вещественные переменные
try {
x = Float.parseFloat(jTextField1.getText()); // Получение данных
b = Float.parseFloat(jTextField2.getText()); // Получение данных
d = Float.parseFloat(jTextField3.getText()); // Получение данных
} catch (Exception ex) {
Toolkit.getDefaultToolkit().beep(); // Издаем звук
// Выводим окошко с сообщением об ошибке
JOptionPane.showMessageDialog(rootPane, "Ошибка введенных данных!", "Ошибка ввода", JOptionPane.ERROR_MESSAGE);
jTextField1.requestFocus(); // Устанавливаем фокус на компонент
jLabel5.setText("В введенных значениях допущены ошибки.");
jTextField1.setText(""); // Очистка данных
jTextField2.setText(""); // Очистка данных
jTextField3.setText(""); // Очистка данных
return; // Выход из метода (процедуры)
}
if (x >= 8) { // Вычисление выражения
y = (x – 2) / (x * x);
} else {
y = b * b * d + 4 * x * x * x;
}