Проблема: Определите класс Rectangle, который предоставляет методы getLength и getWidth. Используя подпрограммы findMax на рис. 1.18, напишите главное, которое создает массив Rectangle и находит самый большой прямоугольник сначала по площади, а затем по периметру.Как написать эту общую объектную программу?
Что я сделал до сих пор, это создать прямоугольник класса с параметрами ширины и высоты в конструкторе. После этого я реализовал два метода getter, в которых ширина и высота переменной экземпляра возвращаются для соответствующих методов получения. Поэтому мне нужна помощь со второй частью.
Рисунок 1,18
1 // Generic findMax, with a function object.
2 // Precondition: a.size() > 0.
3 public static <AnyType>
4 AnyType findMax(AnyType [ ] arr, Comparator<? super AnyType> cmp)
5 {
6 int maxIndex = 0;
7
8 for(int i = 1; i < arr.size(); i++)
9 if(cmp.compare(arr[ i ], arr[ maxIndex ]) > 0)
10 maxIndex = i;
11
12 return arr[ maxIndex ];
13 }
14
15 class CaseInsensitiveCompare implements Comparator<String>
16 {
17 public int compare(String lhs, String rhs)
18 { return lhs.compareToIgnoreCase(rhs); }
19 }
20
21 class TestProgram
22 {
23 public static void main(String [ ] args)
24 {
25 String [ ] arr = { "ZEBRA", "alligator", "crocodile" };
26 System.out.println(findMax(arr, new CaseInsensitiveCompare()))
27 }
28 }
основном только борется с реализацией с использованием программы findMax и компаратора. Я также создал кучу случайных объектов прямоугольника через массив, как того требует проблема – btrballin
, у вас есть подпрограмма 'findMax'. Все, что вам нужно сделать, это определить свой 'Компаратор' ы, и вы можете подключиться. –