Калькулятор дробей на синем фоне
import java.awt.*;
import javax.swing.*;
public class FractionCalculator {
private JFrame frame;
private JPanel panel;
private JTextField numeratorField1;
private JTextField denominatorField1;
private JLabel divisionLabel;
private JTextField numeratorField2;
private JTextField denominatorField2;
private JButton calculateButton;
private JLabel resultLabel;
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
try {
FractionCalculator window = new FractionCalculator();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
});
}
public FractionCalculator() {
initialize();
}
private void initialize() {
// Создаем главное окно приложения
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new BorderLayout(0, 0));
// Создаем панель для размещения компонентов
panel = new JPanel();
frame.getContentPane().add(panel, BorderLayout.CENTER);
panel.setLayout(null);
// Создаем текстовое поле для ввода числителя первой дроби
numeratorField1 = new JTextField();
numeratorField1.setBounds(70, 56, 86, 20);
panel.add(numeratorField1);
numeratorField1.setColumns(10);
// Создаем текстовое поле для ввода знаменателя первой дроби
denominatorField1 = new JTextField();
denominatorField1.setBounds(70, 88, 86, 20);
panel.add(denominatorField1);
denominatorField1.setColumns(10);
// Создаем надпись для отображения знака деления
divisionLabel = new JLabel("/");
divisionLabel.setHorizontalAlignment(SwingConstants.CENTER);
divisionLabel.setBounds(166, 72, 46, 14);
panel.add(divisionLabel);
// Создаем текстовое поле для ввода числителя второй дроби
numeratorField2 = new JTextField();
numeratorField2.setBounds(208, 56, 86, 20);
panel.add(numeratorField2);
numeratorField2.setColumns(10);
// Создаем текстовое поле для ввода знаменателя второй дроби
denominatorField2 = new JTextField();
denominatorField2.setBounds(208, 88, 86, 20);
panel.add(denominatorField2);
denominatorField2.setColumns(10);
// Создаем кнопку для выполнения вычислений
calculateButton = new JButton("Calculate");
calculateButton.addActionListener(e -> calculate());
calculateButton.setBounds(151, 146, 89, 23);
panel.add(calculateButton);
// Создаем надпись для отображения результата
resultLabel = new JLabel();
resultLabel.setHorizontalAlignment(SwingConstants.CENTER);
resultLabel.setBounds(70, 180, 224, 14);
panel.add(resultLabel);
}
// Метод для выполнения вычислений
private void calculate() {
// Считываем значения числителей и знаменателей
int numerator1 = Integer.parseInt(numeratorField1.getText());
int denominator1 = Integer.parseInt(denominatorField1.getText());
int numerator2 = Integer.parseInt(numeratorField2.getText());
int denominator2 = Integer.parseInt(denominatorField2.getText());
// Вычисляем сумму дробей
int resultNumerator = numerator1 * denominator2 + numerator2 * denominator1;
int resultDenominator = denominator1 * denominator2;
// Создаем новую дробь с полученными значениями
Fraction resultFraction = new Fraction(resultNumerator, resultDenominator);
// Выводим результат
resultLabel.setText(resultFraction.toString());
}
}
class Fraction {
private int numerator;
private int denominator;
public Fraction(int numerator, int denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
public int getNumerator() {
return numerator;
}
public void setNumerator(int numerator) {
this.numerator = numerator;
}
public int getDenominator() {
return denominator;
}
public void setDenominator(int denominator) {
this.denominator = denominator;
}
@Override
public String toString() {
return numerator + "/" + denominator;
}
}
Код представляет собой простую графическую программу на языке Java, реализующую калькулятор дробей. В коде используется библиотека Swing для создания графического интерфейса.
Класс FractionCalculator является основным классом программы. Он содержит метод main, который является точкой входа в программу. В методе main создается экземпляр класса FractionCalculator и вызывается метод initialize для инициализации интерфейса программы.
Метод initialize создает главное окно приложения (JFrame) и панель для размещения компонентов (JPanel). Затем он создает несколько компонентов, таких как текстовые поля (JTextField) для ввода числителя и знаменателя дробей, надписи (JLabel) для отображения знака деления и результата вычислений, кнопку (JButton) для выполнения вычислений. Все созданные компоненты добавляются на панель.
Метод calculate связан с кнопкой calculateButton и вызывается при нажатии на эту кнопку. Внутри метода считываются значения числителей и знаменателей дробей из текстовых полей. Затем производятся вычисления - сумма дробей вычисляется путем умножения числителей первой и второй дробей на соответствующие знаменатели и их сложения. После этого создается новый экземпляр класса Fraction с полученными значениями числителя и знаменателя. Результат выводится в надпись resultLabel.
Класс Fraction представляет дробь. Он содержит поля для хранения числителя и знаменателя, а также методы для получения и установки значений этих полей, а также переопределенный метод toString для удобного вывода дроби в виде строки.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет