Вы также можете сделать это следующим образом:
public class Main {
public static void main(String[] args) {
int i;
for (i = 1; i <= 13; i++) {
System.out.print(fibonacci(i) + ", ");
}
System.out.print(fibonacci(i));
}
static int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
}
return fibonacci(n - 2) + fibonacci(n - 1);
}
}
Выход:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377
В качестве альтернативы,
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
fibonacci(1, 1, 377, sb);
System.out.println(sb.substring(0, sb.lastIndexOf(",")));
}
static void fibonacci(int n1, int n2, int limit, StringBuilder sb) {
if (n1 > limit) {
return;
}
sb.append(n1).append(", ");
fibonacci(n2, n1 + n2, limit, sb);
}
}
Выход:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377