java - 递归地实现与列表元素相乘的 q 的幂和
问题描述
我需要编写一个程序,该程序允许计算从指数i = 0开始的数字q的幂和乘以节点列表的第i个元素
该方法必须具有此签名
public double eval (double q)
并且是抽象类List的一个抽象方法
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
}
}
我试图自己实现这是我对Cons的尝试:
public double eval(double q){
return elem * q + next.eval(q*q);
}
而对于Nil:
public double eval(double q){
return 0;
}
这样,我可以计算索引i处列表元素的q^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
}
解决方案
推荐阅读
- java - 如何修复 StringBuffer 错误
- windows - 在 Windows 上以编程方式连接 BT 设备
- ios - Firebase - 无法将调用结果类型“[_]”转换为预期类型“_?”
- php - 音频自动播放无限次重复html5
- android - ExpandableListView 重复 ID 问题 - 如何解决?
- c# - 计算句子中单词数的控制台应用程序。(C#)
- mysql - SQL 迁移。保留旧 ID 不起作用
- php - 使用PHP将Json嵌套数组到Mysql中
- python - Pytest 没有从目录中选择所有测试
- wordpress - 通过 URL GET 参数每页的 WordPress 帖子