Сразу вижу одно; Как я вижу ваш код, следующие две строки являются избыточными:
System.out.println("Please enter how many numbers you want to multiply:");
num=s.nextInt();
Вы должны были уже спросить пользователя, сколько чисел он хочет умножить, потому что он передается как параметр. Что касается вашей реальной проблемы, взгляните на эти строки из метода addNumbers()
:
for(int j = 1;j < num ; j++)
{
sumOfNums += a[j];
}
Все, что вам нужно сделать, это скопировать этот код прямо перед оператором return (return Area;
). Вам нужно будет немного настроить его, чтобы вместо использования переменной sumOfNums
он использовал переменную Area
и вместо добавления умножал. Это можно сделать так:
for(int j = 0;j < num ; j++) //j also needs to start at 0, I think you may have made a mistake when writing the summing method
{
Area *= a[j];
}
Однако вы заметите, что есть проблема с этим алгоритмом (я почти не уловил ее). Area
начинается со значения 0, поэтому 0, умноженный на любое число, всегда будет 0. Простое исправление; просто вручную установите Area
на первое значение перед l oop. Примерно так:
Area = a[0];
for(int j = 1; j < num; j++)
{
sumOfNums += a[j];
}
Также обратите внимание, что на этот раз я запустил для l oop в j = 1
. Это потому, что я уже начал Area
как a[0]
, поэтому мы не хотим умножать это число дважды.