Денис Романов
Знаток
(375)
1 год назад
public class RationalNumber {
private int numerator;
private int denominator;
public RationalNumber(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;
}
public double toDouble() {
return (double) numerator / denominator;
}
public static RationalNumber max(RationalNumber[] arr) {
RationalNumber max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i].toDouble() > max.toDouble()) {
max = arr[i];
}
}
return max;
}
}
ПРИМЕР ИСПОЛЬЗОВАНИЕ
RationalNumber[] arr = new RationalNumber[3];
arr[0] = new RationalNumber(1, 2);
arr[1] = new RationalNumber(3, 4);
arr[2] = new RationalNumber(2, 3);
RationalNumber max = RationalNumber.max(arr);
System.out.println("Max: " + max.getNumerator() + "/" + max.getDenominator());
Задание: Рациональное число можно представить записью с двумя полями: числитель и знаменатель. Дан массив из N рациональных чисел. Разработать функцию для нахождения максимального среди них.