Como imprimir vetores de notas?

Estou precisando imprimir quais matérias o aluno reprovou e foi aprovado no final do calculo de média. (A média tem que ser maior ou igual a 7.5).
Porém eu apenas consegui com que fosse imprimido logo após o cálculo, e mesmo assim não está organizado, apenas apareça a 1º matéria, as outras não.

import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String disciplinas[] = {"Matemática", "Português", "História", "Geografia", "Física", "Química"};
int qtdNotas = 3;
double media = 0;


System.out.println("CÁLCULO DE NOTAS\n");

for (String disc : disciplinas) {
    double soma = 0; 
    for (int i = 1; i <= qtdNotas; i++) {
        System.out.printf("Digite a %dª nota de %s: ", i, disc);
        soma += sc.nextDouble();
    
        media = soma / qtdNotas;
        
    }
    System.out.printf("Média: %.2f\n", media);
    
    for (int i = 0; i < 6; i++)
    if(media > 7.5){
        System.out.println("------------");
        System.out.printf("APROVADO EM %s", disciplinas[i]);
        System.out.println("\n------------");
    }
    else{
        System.out.println("------------");
        System.out.printf("REPROVADO EM %s", disciplinas[i]);
        System.out.println("\n------------");
    }
}}}

Por que fez esse for? Ele vai verificar a mesma média 6 vezes, não faz sentido. Se for para imprimir logo depois do cálculo, seria assim:

Scanner sc = new Scanner(System.in);
String disciplinas[] = {"Matemática", "Português", "História", "Geografia", "Física", "Química"};
int qtdNotas = 2; // cada disciplina tem 2 notas

// para cada disciplina, leia a quantidade de notas
for (String disc : disciplinas) {
    double soma = 0;
    for (int i = 1; i <= qtdNotas; i++) {
        System.out.printf("Digite a %dª nota de %s:\n", i, disc);
        soma += sc.nextDouble();
    }
    double media = soma / qtdNotas;
    System.out.printf("Média: %.2f\n", media);
    if (media >= 7.5) {
        System.out.printf("------------\nAPROVADO EM %s\n------------\n", disc);
    } else {
        System.out.printf("------------\nREPROVADO EM %s\n------------\n", disc);
    }
}

Agora, se for para imprimir só no final, aí precisa guardar as médias. Uma ideia simples seria usar outro array, com o mesmo tamanho do array de disciplinas. Aí você faz um loop para ler as notas e calcular as médias, e outro para mostrar:

Scanner sc = new Scanner(System.in);
String disciplinas[] = {"Matemática", "Português", "História", "Geografia", "Física", "Química"};
double medias[] = new double[disciplinas.length]; // uma média para cada disciplina
int qtdNotas = 2; // cada disciplina tem 2 notas

// para cada disciplina, leia a quantidade de notas
for (int i = 0; i < disciplinas.length; i++) {
    String disc = disciplinas[i];
    double soma = 0;
    for (int j = 1; j <= qtdNotas; j++) {
        System.out.printf("Digite a %dª nota de %s:\n", j, disc);
        soma += sc.nextDouble();
    }
    // guarda a média no array de médias
    medias[i] = soma / qtdNotas;
}

// agora que eu li todas as notas e calculei todas as médias, mostro elas
for (int i = 0; i < disciplinas.length; i++) {
    String disc = disciplinas[i];
    double media = medias[i];
    System.out.printf("Média: %.2f\n", media);
    if (media >= 7.5) {
        System.out.printf("------------\nAPROVADO EM %s\n------------\n", disc);
    } else {
        System.out.printf("------------\nREPROVADO EM %s\n------------\n", disc);
    }
}