Uma ajuda numa função sobre vetor que não está retornando

// AQUI A CLASSE QUE EU RECEBO OS VALORES PRA ARMAZENAR NO VETOR
/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package Exercicio6;

import javax.swing.JOptionPane;

/**
*

  • @author GUESSO
    */
    public class ControleAluno {

    public Aluno ler() {
    Aluno estudante = new Aluno();

     for (int i = 0; i < 2; i++) {
         estudante.setNome(JOptionPane.showInputDialog("Informe o nome:" + String.valueOf(i + 1)), i);
         estudante.setCurso(JOptionPane.showInputDialog("Informe o curso:" + String.valueOf(i + 1)), i);
         estudante.setProntuario(JOptionPane.showInputDialog("Informe o prontuário:" + String.valueOf(i + 1)), i);
     }
    
     return estudante;
    

    }
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// AQUI ONDE FICAM MEUS MÉTODOS
/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package Exercicio6;

/**
*

  • @author GUESSO
    */
    public class Aluno {

    private String[] nome = new String[10];
    private String[] curso = new String[10];
    private String[] prontuario = new String[10];

    public void Aluno() {
    this.curso = new String[10];
    this.nome = new String[10];
    this.prontuario = new String[10];
    }

    public void setCurso(String curso, int pos) {
    this.curso[pos] = curso;
    }

    public void setNome(String nome, int pos) {
    this.nome[pos] = nome;
    }

    public void setProntuario(String prontuario, int pos) {
    this.prontuario[pos] = prontuario;
    }

    public String[] getCurso() {
    return curso;
    }

    public String[] getNome() {
    return nome;
    }

    public String[] getProntuario() {
    return prontuario;
    }

    public String[] retornaNome() {
    String[] retorno = new String[curso.length];

     for (int i = 0; i < curso.length; i++) {
         if (curso[i].equals("DIREITO") || curso[i].equals("direito")) {
             retorno[i] = curso[i];
         }
    
     }
     return retorno;
    

    }
    }
    /////////////////////////////////////////////////////////////////////////////////////////////

//AQUI MINHA CLASSE PRINCIPAL PARA PRINTAR

//Faça um programa que informe o nome, curso, e o prontuário
//de 10 alunos liste apenas os alunos de um determinado curso
//informado pelo usuário
package Exercicio6;

import java.util.Arrays;

/**
*

  • @author GUESSO
    */
    public class PrincipalAlunos {

    public static void main(String[] args) {
    ControleAluno estudante = new ControleAluno();
    Aluno estudo = estudante.ler();

     System.out.println(Arrays.toString(estudo.getNome()));
     System.out.println(Arrays.toString(estudo.getCurso()));
     System.out.println(Arrays.toString(estudo.getProntuario()));
     
     
     System.out.println(Arrays.toString(estudo.retornaNome()));
    

    }

}

///////////É um exercício na qual eu recebo o nome, o curso e o prontuário de 10 alunos, e de acordo com o curso que eu colocar na condição me retorna o nome do aluno com esse curso indicado. Porém não está retornando o nome, nem está dando certo…

Esses atributos deveriam ser do tipo String e não String[].

Na classe ControleAluno você teria:

Aluno[] estudantes = new Aluno[quantidadeDeAlunos];