Dúvida Fibonacci

Boa Tarde pessoal,

to precisando de uma ajuda em um exercicio que estou resolvendo,
lá vai…

desenvolva uma classe Fibonacci, contendo os seguintes métodos:
//
//. int [] getFibo (int n) - devolve os ‘n’ primeiros nros da série de Fibonacci.
//. int [] getFiboMenoresQue (int n) devolve um vetor contendo os números
// da série de fibo menores que ‘n’
//. int [] getFiboEntre (int a, int b) devolve um vetor contendo os números da
// série de fibo entre ‘a’ e ‘b’.

Bem, até o momento fiz o seguinte…

[code]public class Fibonacci {
public int []getFibo(int num){
int[] fibo = new int[ num ];
for (int i = 2 ; i < fibo.length; i++) {
fibo[i] = fibo[i - 1] + fibo[i - 2];
}
return fibo;
}

public int []getFiboMenoresQue(int n){
	return getFiboEntre (0,n);	
}

public int [] getFiboEntre(int a, int b) {
	int contad=0;

	for (int x = a; x <= b; x++){
	int[] vFibo = new int[ contad ];
	int nro = a;
	
	while( x < contad ) {
			vFibo[ x++ ] = nro;
		nro++;
	}
	return vFibo;
	}

}
}

[/code]

[code]public class TestaFibonacci {
public static void main(String[] args) {
Fibonacci f = new Fibonacci();

	int [] numFibonacci = f.getFiboMenoresQue( 13 );

	for( int i = 0; i < 13; i++ ) {

	    System.out.println( "-> " + numFibonacci);
	}
}

}
[/code]

Beleza e qual o sua dúvida?

Não consigo pegar os números entre a e b…

Ve se assim funciona:

import java.util.List;

public class TestaFibonacci {
public static void main(String[] args) {
Fibonacci f = new Fibonacci();

    List&lt;Integer&gt; numFibonacci = f.getFiboMenoresQue( 13 );   

    for(Integer valor : numFibonacci) {   

        System.out.println( &quot;-&gt; &quot; + valor);   
    }   
}   

}

import java.util.ArrayList;
import java.util.List;

public class Fibonacci {
public int []getFibo(int num){
int[] fibo = new int[ num ];
for (int i = 2 ; i < fibo.length; i++) {
fibo[i] = fibo[i - 1] + fibo[i - 2];
}
return fibo;
}

public List&lt;Integer&gt; getFiboMenoresQue(int n){   
    return getFiboEntre (0,n);     
}   

public List&lt;Integer&gt; getFiboEntre(int a, int b) {   
    int initial = 0;
    int atual = initial;
    int anterior = 0;
    int proximo = 1;

    List&lt;Integer&gt; vFibo = new ArrayList&lt;Integer&gt;();

    while (atual &lt;= b) {
    	int antTemp = atual;
    	atual = proximo;
    	anterior = antTemp;
    	proximo = atual + anterior;
        if (atual &gt;= a && atual &lt;= b) {
        	vFibo.add(atual);
        }
    }
    return vFibo;   

}
}

Flw