任何人都可以查看我的java代码,并告诉我如何修复我的代码。问题如下。我真的很感激任何帮助:)
public class problem
{
public static void main (String args []){
int a = 0;
int b = 1;
problem();
}
public static int problem(){
int c = a + b;
if (c>10){
System.out.println(c);
return c;
}
int a = b;
int b = c;
problem();
}
}
Fibonacci序列中的每个新术语都是通过添加前两个术语生成的。从1和2开始,前10个术语将是:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和。
答案 0 :(得分:1)
一些问题。如果您希望所有方法都可以访问它,那么a
和b
应该是静态成员变量。 problem()
返回一个int,但有时只返回。这并不需要返回任何内容,因此我将其视为无效。
这个版本将打印出第一个大于10的Fibonacci数,然后停止,但是你想要第一个大于400万,你想要数字的总和。所以我们需要跟踪它。
此外,您的起始值为0 1斐波那契序列应该开始,1和2。
最后我们只想总结偶数,我们可以通过检查提醒是否为0除以2来做到这一点。
public class problem
{
private static int a = 0;
private static int b = 0;
private static int sum = 0;
public static void main (String args []){
a = 1;
b = 2;
problem();
System.out.println("Sum = " + sum);
}
public static void problem(){
if (b % 2 == 0)
{
sum = sum + b;
}
int c = a + b;
if (c>=4000000)
{
return;
}
a = b;
b = c;
problem();
}
}