Finacci retornando numero errado

tenho serie fibonacci e tenho que imprimir a linha 6, porém apos execução do codigo abaixo tenho como respota o numero 13 e na verdade deveria ser o numero 8.

[code]public class Fibonacci {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    int a =1;
    for (int i = 0; i <= 10;)
    {
        System.out.println(i+",");
        i = i + a;
        a = i - a;
    }
    // TODO code application logic here
}

}
[/code]

[code]public class Fibonacci {

int CalcularFibonaci(int i ){
    int a =1;
    for (; i <= 10;)
    {
        i = i + a;
        a = i - a;
    }
    return i;
}

}
[/code]

Cara, rodei aqui e está certo.

esta rodando, porem tenho que imprimir a posição 6 que deve ter reposta 8, ao executar tenho como respota o valor 13.

Após rodar

for (int i = 0; i <= 10;) {
            System.out.println(i + ", " + a );
            i = i + a;
            a = i - a;
        }

Resposta

0, 1
1, 0
1, 1
2, 1
3, 2
5, 3
8, 5

[quote=drsmachado]Após rodar

for (int i = 0; i <= 10;) {
            System.out.println(i + ", " + a );
            i = i + a;
            a = i - a;
        }

Resposta

0, 1 1, 0 1, 1 2, 1 3, 2 5, 3 8, 5 [/quote]

ok, mas eu quero imprimir a posição 6 em outra classe chamando o metodo calcular fibonacci

deculpe, coloquei o codigo errado segue agora as 2 classe que estaou tentado umprimir a posição 6, porem tenho como reposta o numero 13

[code]public class Fibonaci {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {


    Fibonacci fibo = new Fibonacci();
    
    
    int i = fibo.CalcularFibonaci(6);
    System.out.println(i);
    // TODO code application logic here
}

}
[/code]

[code]public class Fibonacci {

int CalcularFibonaci(int i ){
    int a =1;
    for (; i <= 10;)
    {
        i = i + a;
        a = i - a;
    }
    return (i);
}

}
[/code]

Voce pode fazer de modo recursivo:

    public class Fibonaci {  
      
      
        /** 
         * @param args the command line arguments 
         */  
        public static void main(String[] args) {  
      
      
            Fibonacci fibo = new Fibonacci();  
              
              
            int i = fibo.CalcularFibonaci(6);  
            System.out.println(i);  
            // TODO code application logic here  
        }  
    }
    public class Fibonacci {  
          
        int CalcularFibonaci(int i ){  
            if (n == 0) return 0;
            if (n == 1) return 1;
            return fibonacci(n-1)+fibonacci(n-2);
        }  
    }