Задача:
Создайте функцию, которая принимает два числа и возвращает их сумму, разность, произведение и частное в виде кортежа. Java.
План:
- Алгоритм решения
- Код программы
- Примеры входных данных и ожидаемых результатов
- Объяснение кода программы
- Блок-схема
Алгоритм решения:
-
Создать класс
MathOperations
с статическим методомcalculate
. -
Метод
calculate
принимает два параметра типаdouble
:a
иb
. -
Внутри метода
calculate
:- Вычислить сумму:
sum = a + b
- Вычислить разность:
difference = a - b
- Вычислить произведение:
product = a * b
- Вычислить частное:
quotient = a / b
- Вычислить сумму:
-
Создать и вернуть новый объект
Tuple
с четырьмя вычисленными значениями. -
Создать вспомогательный класс
Tuple
с четырьмя обобщенными типамиT1
,T2
,T3
,T4
. -
В классе
Tuple
:- Объявить четыре приватных поля для хранения значений
- Создать конструктор, принимающий четыре параметра для инициализации полей
- Реализовать геттеры для каждого поля
-
В методе
main
:- Задать два числа
num1
иnum2
- Вызвать метод
calculate
с этими числами - Сохранить результат в переменную
result
типаTuple<Double, Double, Double, Double>
- Вывести результаты, используя геттеры объекта
result
- Задать два числа
Код программы на языке Java:
Код Java
public class MathOperations {
public static Tuple<Double, Double, Double, Double> calculate(double a, double b) {
double sum = a + b;
double difference = a - b;
double product = a * b;
double quotient = a / b;
return new Tuple<>(sum, difference, product, quotient);
}
public static void main(String[] args) {
double num1 = 10;
double num2 = 5;
Tuple<Double, Double, Double, Double> result = calculate(num1, num2);
System.out.println("Sum: " + result.getItem1());
System.out.println("Difference: " + result.getItem2());
System.out.println("Product: " + result.getItem3());
System.out.println("Quotient: " + result.getItem4());
}
}
class Tuple<T1, T2, T3, T4> {
private T1 item1;
private T2 item2;
private T3 item3;
private T4 item4;
public Tuple(T1 item1, T2 item2, T3 item3, T4 item4) {
this.item1 = item1;
this.item2 = item2;
this.item3 = item3;
this.item4 = item4;
}
public T1 getItem1() {
return item1;
}
public T2 getItem2() {
return item2;
}
public T3 getItem3() {
return item3;
}
public T4 getItem4() {
return item4;
}
}
Примеры входных данных и ожидаемых результатов:
Входные данные:
num1 = 10, num2 = 5
Ожидаемый результат:
Sum: 15.0
Difference: 5.0
Product: 50.0
Quotient: 2.0
Входные данные:
num1 = 7.5, num2 = 2.5
Ожидаемый результат:
Sum: 10.0
Difference: 5.0
Product: 18.75
Quotient: 3.0
Входные данные:
num1 = -3, num2 = 4
Ожидаемый результат:
Sum: 1.0
Difference: -7.0
Product: -12.0
Quotient: -0.75
Входные данные:
num1 = 100, num2 = 0.5
Ожидаемый результат:
Sum: 100.5
Difference: 99.5
Product: 50.0
Quotient: 200.0
Объяснение кода программы:
-
Определение класса
MathOperations
:Создается публичный классpublic class MathOperations { // ... }
MathOperations
, который будет содержать методы для выполнения математических операций. -
Метод
calculate
:Статический методpublic static Tuple<Double, Double, Double, Double> calculate(double a, double b) { double sum = a + b; double difference = a - b; double product = a * b; double quotient = a / b; return new Tuple<>(sum, difference, product, quotient); }
calculate
принимает два числа типаdouble
и выполняет четыре арифметические операции: сложение, вычитание, умножение и деление. Результаты возвращаются в виде объектаTuple
. -
Метод
main
:Методpublic static void main(String[] args) { double num1 = 10; double num2 = 5; Tuple<Double, Double, Double, Double> result = calculate(num1, num2); System.out.println("Sum: " + result.getItem1()); System.out.println("Difference: " + result.getItem2()); System.out.println("Product: " + result.getItem3()); System.out.println("Quotient: " + result.getItem4()); }
main
демонстрирует использование методаcalculate
. Он создает два числа, вызывает методcalculate
и выводит результаты на экран. -
Определение класса
Tuple
:Создается обобщенный (generic) классclass Tuple<T1, T2, T3, T4> { private T1 item1; private T2 item2; private T3 item3; private T4 item4; // ... }
Tuple
, который может хранить четыре значения разных типов. -
Конструктор класса
Tuple
:Конструктор инициализирует все четыре поля классаpublic Tuple(T1 item1, T2 item2, T3 item3, T4 item4) { this.item1 = item1; this.item2 = item2; this.item3 = item3; this.item4 = item4; }
Tuple
переданными значениями. -
Методы-геттеры класса
Tuple
:Эти методы позволяют получить доступ к приватным полям классаpublic T1 getItem1() { return item1; } public T2 getItem2() { return item2; } public T3 getItem3() { return item3; } public T4 getItem4() { return item4; }
Tuple
.