有人能看看我的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序列中值不超过400万的项,找出偶数项的和。
发布于 2014-02-19 20:07:26
几个问题。a和b应该是静态成员变量,如果您希望所有的方法都能够访问它的话。problem()返回一个int,但有时返回。这实际上不需要返回任何东西,所以我使它无效。
这个版本将打印出第一个斐波那契数大于10,然后停止,但是你想要第一个大于400万,你想要数字之和。所以我们需要追踪这点。
另外,您的起始值是0,1,Fibonacci序列应该开始,1和2。
最后,我们只想对偶数进行求和,我们可以用除以2来检查提醒是否为0。
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();
}
}https://stackoverflow.com/questions/21890479
复制相似问题