我使用链表创建了一个类来显示20个Fibonacci数。这是我的代码:
import java.util.LinkedList;
public class FibonacciLinkList {
private LinkedList<Integer> fibonacciList;
public FibonacciLinkList(LinkedList<Integer> FibonacciLinkList) {
this.fibonacciList = FibonacciLinkList;
}
public LinkedList<Integer> sum()
{
int n, a = 0, b = 0, c = 1;
for(int i = 1; i <= 20; i++)
{
a = b;
b = c;
c = a + b;
}
return fibonacciList;
}
public void display() {
System.out.println(fibonacciList);
}
public static void main(String[] args) {
LinkedList fibonacciList = new LinkedList();
fibonacciList.display(); //This is where the error is
}
}
我遇到的问题是在控制台上显示斐波那契数字。
我试图通过使用显示方法来做到这一点,但它并没有真正起作用。我已经在网上和SO上做了很多搜索,并尝试过但是他们没有为我工作。如果您能修复我的代码以便它确实有效,我们将不胜感激。
我是链接列表的新手,这是我第一次自己编写链接列表,我觉得这个问题的解决方案可以帮助我更好地理解链接列表。
答案 0 :(得分:1)
我修复了你的代码:
import java.util.LinkedList;
public class FibonacciLinkList {
private LinkedList<Integer> fibonacciList;
public FibonacciLinkList() {
this.fibonacciList = new LinkedList<Integer>();
}
public LinkedList<Integer> sum()
{
int n, a = 0, b = 0, c = 1;
for(int i = 1; i <= 20; i++)
{
fibonacciList.add(a);
a = b;
b = c;
c = a + b;
}
return fibonacciList;
}
public void display() {
System.out.println(fibonacciList);
}
public static void main(String[] args) {
FibonacciLinkList fibonacciList = new FibonacciLinkList();
fibonacciList.sum();
fibonacciList.display();
}
}
试试这个。
答案 1 :(得分:1)
正如我所提到的,display()
不是LinkedList
的实例,并且它不具备sum()
方法。试图在LinkedList
对象上调用它将导致编译失败。
不调用LinkedList
方法,也不实际做任何事情。也就是说,它没有为你拥有的fibonacciList指定任何东西。
我建议您#onAttach(android.content.Context)
public class FibonacciLinkedList extends LinkedList<Integer> {
public FibonacciLinkedList(int n){
int a = 0, b = 0, c = 1;
for(int i = 1; i <= n; i++) {
a = b;
b = c;
c = a + b;
this.add(c);
}
}
public void display() {
System.out.println(this.toString());
}
public static void main(String[] args) {
FibonacciLinkedList list = new FibonacciLinkedList(20);
list.display();
}
}
类,并在实例化时生成项目。然后,使用默认的toString()可以显示到控制台。毕竟,该类只是LinkedList数据结构的扩展,用于存储最多20个Fibonacci数。
当你扩展ws:outbound-gateway
时,你继承了extend方法,其中&#34;字符串表示由一个集合的元素列表按照它们返回的顺序排列迭代器,用方括号括起来(&#34; []&#34;)。&#34;
org.springframework.integration.handler.LoggingHandler - ErrorMessage [payload=org.springframework.messaging.MessagingException: Failed to invoke handler; nested exception is org.springframework.ws.client.WebServiceIOException: I/O error: Received fatal alert: handshake_failure; nested exception is javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure,...
答案 2 :(得分:1)
您需要注意以下几点:
sum()
永远不会被召唤。sum()
中的外观不会更改fibonacciList
,它只使用局部变量而不会对其进行任何其他操作。display()
不是LinkedList函数,因此它可能不起作用。即使它正在工作,它也可能无法显示您的期望:您需要遍历列表并打印每个值。 fibonacciList
,因此显示(如果它正在工作)将显示此本地列表的内容而不是全局列表的内容。