Fibonacci e mediana java

Boa noite, a questão é essa:
Escreva um método que recebe um valor inteiro chamado ‘contador’ como parâmetro e retorna a mediana de uma sequência Fibonacci de tamanho igual ao valor do parâmetro.
Exemplo: para o valor de contador = 7, a sequência gerada seria {0,1,1,2,3,5,8 }; logo o método deve retornar o valor da mediana 2.
Apenas consegui desenvolver o codigo até a parte de fibonacci, alguem consegue me ajudar a concluir com o calculo da mediana como é pedido no problema? obrigado!!!

import java.util.Scanner;

public class consolidacao2 {

public static void main(String[] args) {

    Scanner leia = new Scanner(System.in);

    int contador;

    int a = 1, b = 0;

    int aux

    System.out.println("digite um valor inteiro para realizar a operacao:");

    contador = leia.nextInt(); // ler o valor digitado pelo usuario

    System.out.println("o valor digitado foi " + contador);

    for (int i = 0; i < contador; i++) { // funçao da sequencia de fibonacci

        System.out.println(a); 

        aux = a;

        a = a + b;

        b = aux;

    }

}

}

Seu fibonnaci não está funcionando de acordo com o enunciado…

Exemplo:

import java.util.Scanner;

public class Consolidacao2 {

  private static final Scanner in = new Scanner(System.in);

  public static void main(String[] args) {

    System.out.println("digite um valor inteiro para realizar a operacao:");
    int contador = Integer.parseInt(in.nextLine()); // ler o valor digitado pelo usuario
    System.out.println("o valor digitado foi " + contador);

    boolean impar = contador % 2 != 0;
    double mediana = 0;
    int posicaoMediana = contador / 2;
    if (impar) {
      posicaoMediana++;
    }

    int penultimo = 0;
    int ultimo = 1;
    int atual = penultimo + ultimo;
    System.out.println(penultimo);
    System.out.println(ultimo);
    for (int i = 2; i < contador; i++) { // funçao da sequencia de fibonacci
      System.out.println(atual);

      if (i == posicaoMediana) {
        if (impar) {
          mediana = ultimo;
        } else {
          mediana = (ultimo + atual) / 2.0;
        }
      }
      
      penultimo = ultimo;
      ultimo = atual;
      atual = ultimo + penultimo ;
    }
    System.out.println("mediana: " + mediana);
  }
}