[Resolvido]Duvidas em relação a métodos em java

olá eu estou realizando alguns exercícios em algoritmo e depois passando para java, atualmente estou fazendo o seguinte exercício:

Crie um algoritmo que receba o número dos 10 alunos de uma sala, armazenando-os em um vetor, junto
com as notas obtidas ao longo do semestre (foram realizadas quatro avaliações). Elabore sub-rotinas para:
■■
determinar e mostrar a média aritmética de todos os alunos;
■■
indicar os números dos alunos que deverão fazer recuperação, ou seja, aqueles com média inferior a 6.

Todas as mensagens deverão ser mostradas no programa principal.

Quando eu passo para java eu estou tendo problemas em exibir os números de matrícula dos que estão abaixo da media 6, segue o algoritmo abaixo:

package Ponto;

import java.util.Scanner;

class somatorio {

public double media(double m) {
    double totalMedia;
    totalMedia = m / 4;
    return totalMedia;
}

}

class recuperacao {

public int alunoRecuperacao(double m, int nome) {
    int n;
    if (m < 6 && m >= 0) {
        n = nome;
        return n;
    }
    return 0;

}

}

public class Exercicio25 {

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);

    somatorio calculo = new somatorio();
    int[] matricula = new int[2];

    double[][] notas = new double[2][4];
    double finalMedia;
    double[] soma = new double[2];

    recuperacao input = new recuperacao();
    int exibir;

    for (int i = 0; i < notas.length; i++) {
        System.out.print("Matricula ");
        matricula[i] = in.nextInt();

        for (int j = 0; j < notas[i].length; j++) {
            System.out.print("Nota " + (j + 1) + " ");
            notas[i][j] = in.nextInt();
        }
    }
    for (int i = 0; i < notas.length; i++) {
        finalMedia = 0;
        soma[i] = 0;
        for (int j = 0; j < notas[i].length; j++) {
            soma[i] = soma[i] + notas[i][j];

        }
        System.out.println("");
        finalMedia = calculo.media(soma[i]);
        System.out.println(finalMedia + " ");

    }
    System.out.println("");
    for (int i = 0; i < soma.length; i++) {
        exibir = input.alunoRecuperacao(soma[i], matricula[i]);

        System.out.println(exibir);
    }

}

}

o netbeans pede para eu acrescentar um segundo retorno para o algoritmo, só que desse modo o valor retornado será sempre 0;
desde já agradeço.

Bem não sei se você chegou a testar o código, mas acredito que esteja tudo correto, afinal nesse caso a função para sempre no primeiro return, se for um caso menor que 6 vai executar somente ate “return n;”

o problema que o netbeans o segundo módulo está me retornando 0 ao invés da matricula na variável n, este que está sendo o meu problema, eu queria que ele me retornasse o numero de matricula como está sendo pedido no exercício.

Cara, acredito que como quer passar seus exercícios de algoritmo para Java, deve trabalhar com o paradigma de orientação a objetos. Você criou uma classe para guardar o método de somatório, uma classe para o metodo de recuperação.
Pode fazer melhor criando uma classe de aluno, com os atributos de matricula e notas que você precisa e assim conseguir recuperar essas informações.

Achei seu erro

procura esse trecho:

    System.out.println("");
    finalMedia = calculo.media(soma[i]);
    System.out.println(finalMedia + " ");

E substitui por isso:

    System.out.println("");
    finalMedia = calculo.media(soma[i]);
    soma[i] = finalMedia;
    System.out.println(finalMedia + " ");

vou reescrever aqui e ver se deu certo.

eu deixei a condição e refiz o retorno do valor.
class recuperacao {

public int alunoRecuperacao(double m, int nome) {
int n;
if (m < 6 && m >= 0) {
n = nome;
}
return n;

}

quando eu estava desenvolvendo o código eu descobri que o java não deixa você utilizar retorno dentro de uma condição no método, é necessário retornar o valor fora dele, de qualquer forma obrigado pela ajuda.