Мне нужно написать программу, которая позволяет вычислять суммы степеней числа q , начиная с показателя степени i = 0 , умноженного на элемент i списка узлов
Метод должен иметь такую подпись
public double eval (double q)
И это абстрактный метод абстрактного класса Список
abstract class List{
abstract double eval(double q);
}
реализовано
class Nil extends List{
public double eval(double q){
//Method to implement
}
}
class Cons extends List{
int elem;
List next;
public Cons(int elem, List next){
this.elem = elem;
this.next = next;
}
public double eval(double q){
//Method to implements
}
}
Я пытался реализовать самостоятельно Вот моя попытка Минусы :
public double eval(double q){
return elem * q + next.eval(q*q);
}
Принимая во внимание Ноль :
public double eval(double q){
return 0;
}
Таким образом, я могу вычислить степени q ^ i для элемента списка с индексом i , но я не могу добавить к возвращаемому значению результаты первого элемента для q ^ 0 .Как можно реализовать это поведение без добавления каких-либо других параметров, кроме q ?
Мне нужно реализовать это без использования методов стандартного класса Java
Пример
Input: inputList = [1,2,3]
method: inputList.eval(5)
output: 1 * 5^0 + 2 * 5^1 + 3 * 5^2 = 1 + 10 + 75 = 86
Пример кода
public static void main(String[] args)
{
Cons list = new Cons(1,new Cons(2, new Cons(3, new Nil());
System.out.println(list.eval(5));
//It should output 1 * 5^0 + 2 * 5^1 + 3 * 5^2 = 1 + 10 + 75 = 86 but in the way i implemented It i can't calculate the First element of the list * 5^0
}