Programação de um sistema

Esse sistema deve cadastrar solicitações
de atendimento dos alunos com os professores. O sistema deve guardar os
seguintes dados de alunos e professores:
Professor: matricula, nome e disciplina.
Aluno: matrícula, nome, endereço e turma.
O sistema deve permitir o cadastro, listagem e remoção de alunos e
professores. Deve ser possível buscar um professor pelo seu nome. E também
deverá ser possível buscar todos os professores de uma determinada disciplina.
O sistema também deve permitir a listagem das solicitações de
acompanhamento feitas. Para cadastrar uma solicitação de acompanhamento
deve ser informado o aluno que solicitou, o professor solicitado e uma descrição
da dúvida que o aluno deseja tirar com o professor.

ALGUEM PODE ME AJUDAR COM ISSO? JA FIZ AS CLASSES ALUNO E PROFESSOR

Posso sim. Posta aqui o que você já fez e quais suas dúvidas específicas.

classe professor
package projetofinal;

import java.util.Scanner;

public class Professor {

private double matricula;
private String nome;
private String disciplina;

public double getMatricula() {
	return matricula;
}
public void setMatricula(double matricula) {
	this.matricula = matricula;
}

public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}

public String getDisciplina() {
	return disciplina;
}
public void setDisciplina(String disciplina) {
	this.disciplina = disciplina;
}
	 
   } 

}

classe aluno
package projetofinal;

import java.util.Scanner;

public class Aluno {

private double matricula;
private String nome;
private String endereço;
private String turma;


public double getMatricula() {
	return matricula;
}

public void setMatricula(double matricula) {
	this.matricula = matricula;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getEndereço() {
	return endereço;
}

public void setEndereço(String endereço) {
	this.endereço = endereço;
}

public String getTurma() {
	return turma;
}

public void setTurma(String turma) {
	this.turma = turma;
} 

}

classe de teste
package projetofinal;

import java.util.Scanner;

public class SistemaEscolar {

private static Professor professor;
private static Aluno aluno;
private static int entrar;

public static void main(String[] args) {
	
	try (Scanner ler = new Scanner (System.in)) {
		int entrar;
		int cadastrar;
		
		System.out.println ("BEM VINDOS");
		System.out.println ("1. CADASTRAR");
		System.out.println ("2. LISTAR");
		System.out.println ("3. REMOVER");
		System.out.println ("ESCOLHA UMA DAS OPÇÕES:");
		entrar = ler.nextInt ();
		

			while (entrar == 1) {
				
				System.out.println ("1. ALUNO");
				System.out.println ("2. PROFESSOR");
				System.out.println ("ESCOLHA UMA OPÇÃO:");
				cadastrar = ler.nextInt ();
				
				if (cadastrar == 1) {
					
					setAluno (new Aluno ());
					System.out.println ("digite o nome:");
					Scanner in = new Scanner (System.in);
					System.out.println (in.nextLine ());
				}
				
				{
					System.out.println ("digite uma matrícula:");
					Scanner in = new Scanner (System.in);
					System.out.println (in.nextLine ());
				}
				{
					System.out.println ("digite uma turma:");
					Scanner in = new Scanner (System.in);
					System.out.println (in.nextLine ());
				}
				{
					System.out.println ("digite o endereço:");
					Scanner in = new Scanner (System.in);
					System.out.println (in.nextLine ());	
				}
			}
			else  (cadastrar == 1) {
				
				 setProfessor (new Professor ());
				 System.out.println ("digite uma matrícula:");
					Scanner in = new Scanner (System.in);
					System.out.println (in.nextLine ());
				}
				{
					System.out.println ("digite o nome:");
					Scanner in = new Scanner (System.in);
					System.out.println (in.nextLine ());
				}
				{
					System.out.println ("digite uma diciplina:");
					Scanner in = new Scanner (System.in);
					System.out.println (in.nextLine ());
					
					}
					
				}

	 
	  if (entrar == 2) {
					
				}
				
				else if(entrar == 3) {
					
				}
	
	}
	
public static Professor getProfessor () {
return professor ;
}

public static void setProfessor (Professor professor) {
	SistemaEscolar.professor = professor;
}

public static Aluno getAluno () {
	return aluno;
}

public static void setAluno (Aluno aluno) {
	SistemaEscolar.aluno = aluno;
}

}

ESTOU TENDO PROBLEMAS NA PARTE DE CADASTRAR QUANDO EU COLOCOLUNO OU PROFESSOR ELE PEDE OS DADOS TANTO DO ALUNO COMO DO PROFESSOR. POR ENQUATO SO TENHO ESSE PROBLEMA PQ SO TESTEI ATE ESSA PARTE

EU CONSEGUI MUDAR, FICOU ASSIM, MAS AGORA QUERIA CONSEGUIR TIRAR ESSES SCANNER PQ TEM MUITOS, TEM COMO?

try (Scanner ler = new Scanner (System.in)) {
int entrar;
int cadastrar;

		System.out.println ("BEM VINDOS");
		System.out.println ("1. CADASTRAR");
		System.out.println ("2. LISTAR");
		System.out.println ("3. REMOVER");
		System.out.println ("ESCOLHA UMA DAS OPÇÕES:");
		entrar = ler.nextInt ();
		

			if (entrar == 1) {
				
				System.out.println ("1. ALUNO");
				System.out.println ("2. PROFESSOR");
				System.out.println ("ESCOLHA UMA OPÇÃO:");
				cadastrar = ler.nextInt ();

if (cadastrar == 1) {

					setAluno (novo aluno ());
					System.out.println ("digite o nome:");
					Scanner in = novo Scanner (System.in);
					System.out.println (in.nextLine ());
				
					System.out.println ("digite uma matrícula:");
					Scanner scan = novo Scanner (System.in);
					System.out.println (in.nextLine ());
				
					System.out.println ("digite uma turma:");
					Scanner scann = novo Scanner (System.in);
					System.out.println (in.nextLine ());
				
					System.out.println ("digite o endereço:");
					Scanner scaner = novo Scanner (System.in);
					System.out.println (in.nextLine ());
					cadastrar = ler.nextInt ();						
				}
				if (cadastrar == 2) {	
					
				 setProfessor (novo professor ());
				 System.out.println ("digite uma matrícula:");
					Scanner in = novo Scanner (System.in);
					System.out.println (in.nextLine ());
				
					System.out.println ("digite o nome:");
					Scanner scanner = novo Scanner (System.in);
					System.out.println (in.nextLine ());
				
					System.out.println ("digite uma diciplina:");
					Scanner scannr = novo Scanner (System.in);
					System.out.println (in.nextLine ());						
					}	
				}
			
				else if (entrar == 2) {
					
				}
				
				else if (entrar == 3) {
					
				}
			
				
					
					
				}
	}
	

	
	



public static professor getProfessor () {
	professor de retorno;
}

public static void setProfessor (professor professor) {
	sistemaEscolar.professor = professor;
}

public static aluno getAluno () {
	return aluno;
}

public static void setAluno (aluno aluno) {
	sistemaEscolar.aluno = aluno;
}

}

Joga a criação do Scanner para antes do try { }, e toda vez que for chamar, chame o mesmo. É simples assim.
:wink:

Não precisa criar um novo para cada vez que for coletar dados. Basta um, porque todos estão pegando do mesmo lugar. Então você está instanciando vários sem necessidade.

Me ensina a parte de listar por favor

Não use caracteres acentuados ou com cedilhas nos nomes das variáveis

Matrícula não é um número, é uma string

Você não usa o scanner dentro das classes Aluno nem Professor, então não precisa importar ele.

Quando você tem substantivos, as orientações de boas práticas de programação indicam que a inicial da segunda e demais palavras deve estar em maiúsculo. Ficaria então:

package projetoFinal;

(lembre de renomear a pasta também)

Esse else está no while não no if

Aluno.java

package projetoFinal;

public class Aluno {

    private String matricula;
    private String nome;
    private String endereco;
    private String turma;

    public String getMatricula() {
        return matricula;
    }

    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getTurma() {
        return turma;
    }

    public void setTurma(String turma) {
        this.turma = turma;
    }

}

Professor.java

package projetoFinal;

public class Professor {

    private String matricula;
    private String nome;
    private String disciplina;

    public String getMatricula() {
        return matricula;
    }

    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getDisciplina() {
        return disciplina;
    }

    public void setDisciplina(String disciplina) {
        this.disciplina = disciplina;
    }

}

SistemaEscolar.java

package projetoFinal;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class SistemaEscolar {

    public static void main(String[] args) {

        Scanner ler = new Scanner(System.in);

        List<Aluno> listaAlunos = new ArrayList<>();
        List<Professor> listaProfessores = new ArrayList<>();

        int opcao;

        listaAlunos.clear();
        listaProfessores.clear();

        do {
            System.out.println("\nBEM VINDOS");
            System.out.println("1. CADASTRAR");
            System.out.println("2. LISTAR");
            System.out.println("3. REMOVER");
            System.out.println("4. Sair do programa");
            System.out.println("ESCOLHA UMA DAS OPÇÕES:");
            opcao = ler.nextInt();

            if (opcao == 1) {
                int cadastrar;

                do {

                    System.out.println("\n1. ALUNO");
                    System.out.println("2. PROFESSOR");
                    System.out.println("3. Sair desse menu");
                    cadastrar = ler.nextInt();

                    if (cadastrar == 1) {

                        Aluno novoAluno = new Aluno();

                        System.out.println("\nDigite o nome do aluno: ");
                        novoAluno.setNome(ler.next());

                        System.out.println("Digite a matrícula: ");
                        novoAluno.setMatricula(ler.next());

                        listaAlunos.add(novoAluno);

                    } else if (cadastrar == 2) {

                        Professor novoProfessor = new Professor();

                        System.out.println("\nDigite o nome do professor: ");
                        novoProfessor.setNome(ler.next());

                        System.out.println("Digite a matrícula: ");
                        novoProfessor.setMatricula(ler.next());

                        listaProfessores.add(novoProfessor);

                    }

                } while (cadastrar == 1 || cadastrar == 2);
            }

            else if (opcao == 2) {

                System.out.println("\nLista de alunos:");
                for (Aluno aluno : listaAlunos) {
                    System.out.println("Aluno - Nome: " + aluno.getNome() + " / Matrícula: " + aluno.getMatricula());
                }

            } else if (opcao == 3) {

                String matriculaParaExcluir;

                System.out.println("\nLista atual de alunos:");
                for (Aluno aluno : listaAlunos) {
                    System.out.println("Aluno - Nome: " + aluno.getNome() + " / Matrícula: " + aluno.getMatricula());
                }

                System.out.println("\nDigite a matrícula do aluno a excluir: ");
                matriculaParaExcluir = ler.next();

                for (Aluno aluno : listaAlunos) {
                    if (aluno.getMatricula() == matriculaParaExcluir) {
                        listaAlunos.remove(aluno);
                    }
                }
            }

        } while (opcao >= 1 && opcao <= 3);

        ler.close();

    }
}

Postei as suas três classes. A de Aluno e a de Professor estão completas. A do SistemaEducacional está apenas com dois dos quatro dados de cada tipo de envolvido no sistema. Além disso essa classe só lista os dados dos alunos, e só remove alunos.

Creio que a lógica já ficou clara, e você vai conseguir fazer o resto sozinha.

Se tiver mais dúvidas específicas, poste aqui.

Muito obrigada

AGORA ESTOU TENTANDO CRIAR A OPÇÃO “BUSCAR” PARA BUSCAR PROFESSORES PELA MATÉRIA OU NOME. ALGUMA DICA OU ORIENTAÇÃO?

Amanda, no código que eu fiz ele já tem um sistema de buscas, quando localiza para apagar.

É só você adaptar. É fácil e simples.