我应该编写一个代码来检查给定的数字是否属于Fibonacci序列.经过几个小时的努力,这就是我提出的:
public class TP2 {
/**
* @param args
*/
public static boolean ehFibonacci(int n) {
int fib1 = 0;
int fib2 = 1;
do {
int saveFib1 = fib1;
fib1 = fib2;
fib2 = saveFib1 + fib2;
}
while (fib2 <= n);
if (fib2 == n)
return true;
else
return false;
}
public static void main(String[] args) {
int n = 8;
System.out.println(ehFibonacci(n));
}
}
我一定做错了,因为它总是返回“假”.有关如何解决此问题的任何提示?
解决方法:
你在fib2< = n时继续循环,所以当你离开循环时,fib2总是> n,所以它返回false.