Problema em código com arrays

Pessoal, estava fazendo um código para treinar arrays, e acabei me enrolando e querendo saber o que fiz de errado… Se alguém puder me ajudar, seria te grande ajuda para o meu aprendizado!

[code]package projetoreaprendendo;
import java.util.Scanner;
public class Exercicio05 {
public static void main (String [] args){
Scanner input = new Scanner(System.in);

 //Quantidade de alunos
 System.out.println("Insira a quantidade de aluno:");
 int i = input.nextInt();
 String[] alunos = new String[i];
 int[][] media = new int [3][i];
 int[] soma = new int [i];
 
 //Nome dos alunos
 System.out.println("Insira os nomes dos alunos:");
 for (int y = 0; y < i; y++){
     System.out.print(y+1 + ") ");
     alunos[y] = input.next();
 }
 
 //Notas dos Alunos
 System.out.println("Informe as notas dos alunos:");
for (int l = 0; l < i; l++){
System.out.println(alunos[l] + ":");
  for (int c = 0; c < 3; c++) {
    media[c][l] = input.nextInt();
  }

}
// Somar as notas
for (int y = 0; y < i; y++) {
for (int l = 0; l < i; ++l) {
for (int c = 0; c < 3; ++c) {

            soma[y] += media[c][l];
    }
}

}

//Mostrar as notas
System.out.println("As notas dos alunos são: ");
for (int quantidade = 0; quantidade < i; quantidade++){
    for (int y = 0; y < i; y++){
    System.out.print(alunos[quantidade] + " = " + soma[y] + " ");
    if (soma[y] > 18){
        System.out.println("Aprovado");
    } else {
        System.out.println("Reprovado");
    }
    }
}

}
}[/code]

Desde já agradeço a todos que responderem!

Problema foi resolvido! O objetivo era informar quantidade de alunos, guardar o nome de cada um e adicionar 3 notas para cada um deles! No final deveria informar o valor da soma e se ele havia sido aprovado ou não!!! Mas passei um bom tempinho tentando acertar isso e consegui! Desculpa ter deixado de colocar o objetivo dele e o que acontecia de errado!!

Código correto:

[spam][code]
package projetoreaprendendo;
import java.util.Scanner;
public class Exercicio05 {
public static void main (String [] args){
Scanner input = new Scanner(System.in);

 //Quantidade de alunos
 System.out.println("Insira a quantidade de alunos:");
 int i = input.nextInt();
 String[] alunos = new String[i];
 int[][] media = new int [3][i];
 int[] soma = new int [i];
 int[]soma2 = new int[i];

 //Nome dos alunos
 System.out.println("\nInsira os nomes dos alunos:");
 for (int y = 0; y < i; y++){
     System.out.print(y+1 + ") ");
     alunos[y] = input.next();
 }

 //Notas dos Alunos
 System.out.println("\nInforme as notas dos alunos:");
for (int l = 0; l < i; l++){
System.out.println(alunos[l] + ":");
  for (int c = 0; c < 3; c++) {
    media[c][l] = input.nextInt();
  }

}

// Somar as notas

for (int v = 0; v < i; v++){
for (int y = 0; y < 3; y++) {
soma2[v] += media[y][v];
}
}
for (int y = 0; y < i; y++)
soma[y] = soma2[y];

//Mostrar as notas

System.out.println("\nAs notas dos alunos são:\n");
for (int quantidade = 0; quantidade < i; quantidade++){
System.out.print(alunos[quantidade] + " = " + soma[quantidade] + " ");
if (soma[quantidade] >= 18 && soma[quantidade] <= 30){
System.out.println(“Aprovado”);
} else if (soma[quantidade] > 30) {
System.out.println(“Typing Error”);
} else {
System.out.println(“Reprovado”);
}
}
}
}
[/code][/spam]
Adm pode apagar o tópico!

Se você dissesse qual era o objetivo desse programa e o que acontece de errado, ajuda muito a te ajudar.