【发布时间】:2019-01-30 15:01:29
【问题描述】:
我正在尝试连接这个 JavaScript 函数的 Java 等效项:
const fibonacci_nth = (n) => {
if (n === 0) return 0;
if (n === 1) return 1;
else return fibonacci_nth(n-2) + fibonacci_nth(n-1);
}
const fibonacci_series = (n) => {
if (n === 0) return [fibonacci_nth(0)];
return [...fibonacci_series(n-1), fibonacci_nth(n)];
}
但我卡住了,因为我不熟悉 Java 语法;
public static int fibonacci_nth(int n) {
if(n == 0) return 0;
if(n == 1) return 1;
else return fibonacci_nth(n-2) + fibonacci_nth(n-1);
}
public static int[] fibonacci_series(int n) {
int intArray[];
if(n == 0) return intArray[fibonacci_nth(n)];
else return intArray[..., fibonacci_series(n-1), fibonacci_nth(n)]; // <- syntax error
}
注意:性能不是我的目标。
【问题讨论】:
-
你有没有研究过如何在java中创建一个
int[]并用值填充它? -
@f1sh,是的,但所有示例都显示循环。
-
intArray中的值应该是什么? -
@c0der,对于
fibonacci_series(7),返回值应该是整数数组[ 0, 1, 1, 2, 3, 5, 8, 13 ]。或者返回数组可能是ArrayList,类似的东西。