gpt4 book ai didi

java - 使用netbeans调试java代码

转载 作者:行者123 更新时间:2023-12-02 08:27:31 27 4
gpt4 key购买 nike

嗨我想调试这两个代码(递归版本的斐波那契,另一个是迭代版本的斐波那契)。我想了解它们之间的性能差异。但我不知道如何调试这些代码,请帮助我,谢谢。

斐波那契(递归):

public class Two{

public static void main(String[] args){
final Two obj = new Two();
int sum = 0, i = 1;
obj.fibonacci(i);
while(obj.fibonacci(i) < 4000001){
if(obj.fibonacci(i) % 2 == 0){
sum += obj.fibonacci(i);
}
i++;
}
System.out.println(sum);
}

public int fibonacci(int n){
if(n == 0){
return -1;
}
if(n == 1){
return 1;
}
if(n == 2){
return 2;
} else{
return fibonacci(n - 1) + fibonacci(n - 2);

}
}
}

斐波那契(迭代):

    int sum = 0,a=1,b=1,c=a+b;
while (c<4000000){
sum +=c;
a=c+b;
b=a+c;
c=a+b;
}
System.out.println(sum);

最佳答案

在测试性能的代码前添加以下行:

long start = System.currentTimeMillis();

代码打印出执行所需的时间:

System.out.println(System.currentTimeMillis() - start);

如果您想知道计算值,请更改这些行:

} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}

进入

List<Integer> tempNumbers = new ArrayList<Integer>();
...

} else {
int result = fibonacci(n - 1) + fibonacci(n - 2);
tempNumbers.add(result);
return result;
}

在正在测量的代码打印出列表后:

System.out.println(tempNumbers);

关于java - 使用netbeans调试java代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4202955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com