Итак, у меня есть вопрос с двумя вопросами. Первая часть, которую я сделал, создала интерфейс, а затем использовала этот интерфейс в двух разных классах. Однако вторая часть вопроса меня озадачила. Я не понимаю логический аспект этого. Кажется, что вопрос должен быть обратным. Это две вещи, которые мне нужно сделать, чтобы закончить последнюю часть задания. Если бы кто-нибудь здесь мог дать мне лишь небольшое руководство относительно того направления, которое я должен принять, я бы очень признателен.Создание метода, который принимает массив объектов интерфейса
Часть II: (1) Создайте массив вычисляемых объектов в главном и вызовите метод sumCalculate.
По большей части я это понимаю, я уже начал это делать, но решил начать работу над (2), поскольку для меня это было труднее. Это в основном создание массива Calculatable объектов определенного размера (я выбрал 5) и заполнения его различными вычислимыми объектами (в моем примере могут быть прямоугольники или квадраты). Но вторая половина этого вопроса меня смущает? Могу ли я назвать метод sumCalculate, который я буду делать в вопросе 2? Или я называю это, прежде чем я даже сделаю метод (2).
(2) Сделать метод, который принимает массив вычисляемых объектов и суммирует значения, возвращаемые вызовом каждого объекта для вычисления.
Что я пытаюсь выяснить здесь (2), так это. Когда он просит меня сделать метод? Означает ли это, что я создаю новый метод в интерфейсе sumCalc, например, который имеет параметры, которые принимают массив вычисляемых объектов? А затем, если суммировать возвращаемые значения. Я бы предположил, что я бы добавил двойной расчет, который возвращается методами расчета.
Я бы попросил моего профессора, но этот профессор, которого я решил принять, сделал привычкой к тому, чтобы быть слишком труднодоступным. Извините, что беспокоите вас, ребята, что, скорее всего, является элементарным и не сложным вопросом.
interface Calculatable {
public double calculate(int x);
}
class square implements Calculatable {
public double side;
square(double side){
this.side = side;
}
public double getside(){
return side;
}
public double calculate(int x) {
double perimeter = side * 4;
System.out.println("This calculate method will output the perimeter divided by the parameter x");
double calculation = perimeter/x;
System.out.println("The original perimeter was " + perimeter + ". And the calculated perimeter is " + calculation +".");
return calculation;
}
}
public class rectangle implements Calculatable {
public double length;
public double width;
rectangle(double length , double width){
this.length = length;
this.width = width;
}
public double getlength(){
return length;
}
public double getwidth(){
return width;
}
public double calculate(int x) {
double perimeter = 2 * (length + width);
double calculation = 2 * perimeter;
System.out.println("This will return the perimeter of the rectangle times the x paramater");
System.out.println("Your current perimeter is " + perimeter + " and your perimeter after the calculation is " + calculation + ".");
return calculation;
}
public static void main(String [] args){
Calculatable perimeter1 = new rectangle(20.5 , 50);
perimeter1.calculate(5);
Calculatable perimeter2 = new square(10.5);
perimeter2.calculate(2);
Calculatable[] perimetersums = new Calculatable[5];
perimetersums[0] = new rectangle(20.5 , 50);
perimetersums[1] = new rectangle(10 , 25);
}
}
'x' никогда не используются в вашем' метода calculate' – vojta
я вижу, что х используются в одном из случаев, но это кажется действительно странным, что расчет принимает параметр. Что касается вопросов, я получаю впечатление, несмотря на запутанную формулировку, что sumCalculate() - это метод, который вам нужно реализовать в (2). –
Да, профессор в основном хотел, чтобы у него был какой-то параметр по какой-то причине. Полагаю, только ради этого. Она хотела нас, и это по ее собственным словам, чтобы иметь метод, который «возвращает двойной, основанный на некоторых вычислениях, которые выполняются с элементами данных и целочисленным параметром». – Nathan