Porque char ta dando error?

static void Main(string[] args)
{
        double n1 = 0, n2 = 0, n3 = 0, resposta = 0;
        char letras;
        Console.WriteLine("Digite 3 notas");
        n1 = double.Parse(Console.ReadLine());
        n2 = double.Parse(Console.ReadLine());
        n3 = double.Parse(Console.ReadLine());
        Console.WriteLine("Digite A para media e B para media pondeda");
        letras = char.Parse(Console.ReadLine());
        Recebe_Aluno();
    }
        public void Recebe_Aluno(double n)
        {
           double n1 = 0, n2 = 0, n3 = 0;
            int A = 0, P = 0;
            float  media = 0;
             char letras;

            if (letras == 'A')
            {
            
                media = (n1 + n2 + n3 ) / 3;
                
            }
            
            else if (letras == 'P')
            {
                media = (n1 * n2 * n3)/ 5 + 2 + 2;
                
            }
            else
            {

            }
        }
    }
 }

é importante sempre colocar o erro: o erro é

No overload for method Recebe_Aluno' takes0’ arguments

Explicação o erro acontece porque Recebe_Aluno tem um parâmetro do tipo double que não foi passado. Parece também que o problema é bem maior a variave n não é utilizada para nada ???