Primeiramente boa noite.
Venho lendo a respeito de java a pouco tempo e hoje dei uma olhada na parte de recursividade.
O código abaixo funciona 100%, mas gostaria de ver a opinião de vocês, gostaria de saber se há uma forma mais inteligente de chamar ou criar esses métodos de forma recursiva.
Venho estudando também com base em uma apostila da caelum, e em um dos exercícios ele pede o seguinte: “Escreva o método recursivo novamente, usando apenas uma linha. Para isso, pesquise sobre o operador condicional ternário. (ternary operator)”
Já dei uma olhada a respeito do operador tenário, mas ainda não consegui fazer esse exercício, como exatamente seria a sintaxe para a criação deste método apenas em uma linha? Este método não precisa imprimir a sequencia Fibonacci, mas sim apenas calcular.
public class Fibonacci {
public static void main(String[] args){
int vetorFibo[] = new int [10];
calcularFibo(1, 1, (vetorFibo.length-1), vetorFibo, 0);
imprimirFibo(0, (vetorFibo.length-1), vetorFibo);
}//Fim do método main
public static void calcularFibo(int num1, int num2, int limite, int vetorFibonacci[], int vetorIndex){
if(limite >= 0){
int next = 0;
next = num1 + num2;
vetorFibonacci[vetorIndex] = next;
calcularFibo(num2, next, (limite-1), vetorFibonacci, (vetorIndex+1));
}// fim do if
}// fim do método calcularFibo
public static void imprimirFibo(int printIndex, int lastIndex, int vetor[]){
if(printIndex <= lastIndex){
System.out.printf("%d, ", vetor[printIndex]);
imprimirFibo((printIndex+1), lastIndex, vetor);
}// fim do if
}// fim do método imprimirFibo
}