Estou com uma grande duvida, quero fazer um programa que gerencia uma escola nivel fundamental, mas não consigo relacionar as classes e obter atributos quando preciso.
[code]import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public abstract class Pessoa
{
protected String nome;
protected String endereço;
protected String cpf;
protected String data_nascimento;
public abstract void login(String senha);
}
class Aluno extends Pessoa
{
private String nome_pai;
private String nome_mae;
private String login;
private double nota_1,nota_2,media;
private int frequencia;
private int serie;
public int getSerie() {
return serie;
}
public void setSerie(int serie) {
this.serie = serie;
}
public void login(String senha){
if(this.login==senha)
{
System.out.println("Bem vindo");
}
else
System.out.println("Senha errada");
}
public void setNome_pai(String nome_pai) {
this.nome_pai = nome_pai;
}
public String getNome_pai() {
return nome_pai;
}
public void setNome_mae(String nome_mae) {
this.nome_mae = nome_mae;
}
public String getNome_mae() {
return nome_mae;
}
public void setLogin(String login) {
this.login = login;
}
public String getLogin() {
return login;
}
public void setNota_2(double nota_2) {
this.nota_2 = nota_2;
}
public double getNota_2() {
return nota_2;
}
public void setNota_1(double nota_1) {
this.nota_1 = nota_1;
}
public double getNota_1() {
return nota_1;
}
public void setMedia(double media) {
this.media = media;
}
public double getMedia() {
return media;
}
public void setFrequencia(int frequencia) {
this.frequencia = frequencia;
}
public int getFrequencia() {
return frequencia;
}
}
class Professor extends Pessoa
{
private String turma;
private String login;
public void login(String senha){
if(this.login==senha)
{
System.out.println("Bem vindo");
}
else
System.out.println("Senha errada");
}
public void colocarNota()
{
//vou ter que ter acesso a lista turma
}
public void editaNota()
{
}
public void frequencia()
{
}
public void editaFrequencia()
{
}
public void setTurma(String turma) {
this.turma = turma;
}
public String getTurma() {
return turma;
}
public void setLogin(String login) {
this.login = login;
}
public String getLogin() {
return login;
}
}
class Secretario extends Pessoa {
private String login;
int tamanho_1;
//FALTA IMPLEMENTAR RELATORIO
public void login(String senha){
if(this.login==senha)
{
System.out.println("Bem vindo");
}
else
System.out.println("Senha errada");
}
public void cadastrarAluno(int numeroAlunos){
List <Aluno> lista_alunos1 = new ArrayList<Aluno>();
List <Aluno> lista_alunos2 = new ArrayList<Aluno>();
List <Aluno> lista_alunos3 = new ArrayList<Aluno>();
List <Aluno> lista_alunos4 = new ArrayList<Aluno>();
for (int i=0; i < numeroAlunos; i++){
Scanner sc = new Scanner(System.in);
Aluno aluno = new Aluno();
System.out.println("Digite a serie do aluno(1,2,3,4 ou 5)");
aluno.setSerie(sc.nextInt());
System.out.println("Digite o nome do "+(i+1)+"º aluno");
aluno.nome=sc.nextLine();
System.out.println("Digite o cpf do aluno");
aluno.cpf=sc.nextLine();
System.out.println("Digite o endereço do aluno");
aluno.endereço=sc.nextLine();
System.out.println("Digite a data de nascimento do aluno");
aluno.data_nascimento=sc.next();
System.out.println("Digite o nome do pai aluno");
aluno.setNome_pai(sc.nextLine());
System.out.println("Digite o nome da mae aluno");
aluno.setNome_mae(sc.nextLine());
if(aluno.getSerie()==1 && lista_alunos1.size()<) // aki não consigo acessar a lista lista_turma1 que criei na classe diretor
{ lista_alunos1.add(aluno);}
if(aluno.getSerie()==2 && lista_alunos2.size()<50)
{ lista_alunos2.add(aluno);}
if(aluno.getSerie()==3 && lista_alunos3.size()<50)
{ lista_alunos3.add(aluno);}
if(aluno.getSerie()==4 && lista_alunos4.size()<50)
{ lista_alunos4.add(aluno);}
}
}
public void editarAluno()
{
//implementar apartir das 5 listas
}
}
class Diretor extends Pessoa {
private Secretario secretario;
private String login;
private Turma turma;
public static List <Turma> lista_turma1 = new ArrayList<Turma>();
public static List <Turma> lista_turma2 = new ArrayList<Turma>();
public static List <Turma> lista_turma3 = new ArrayList<Turma>();
public static List <Turma> lista_turma4 = new ArrayList<Turma>();
public static List <Turma> lista_turma5 = new ArrayList<Turma>();
public Secretario getSecretario() {
return secretario;
}
public void setSecretario(Secretario secretario) {
this.secretario = secretario;
}
public void login(String senha){
if(this.login==senha)
{
System.out.println("Bem vindo");
}
else
System.out.println("Senha errada");
}
public void cadastrarProfessor(int numeroProfessores)
{
}
public void editartProfessor(String serie)
{
}
public void cadastrarSecretario()
{
if(secretario== null)
{
Scanner sc = new Scanner(System.in);
secretario = new Secretario();
System.out.println("Digite o nome do secretário");
secretario.nome=sc.nextLine();
System.out.println("Digite o cpf do secretário");
secretario.cpf=sc.nextLine();
System.out.println("Digite o endereço do secretário");
secretario.endereço=sc.nextLine();
System.out.println("Digite a data de nascimento do secretário");
secretario.data_nascimento=sc.next();
}
else{System.out.println("secretário já cadastrado ");}
}
public void editarSecretario()
{
Scanner sc = new Scanner(System.in);
if (secretario==null){
System.out.println("Não existe secretário cadastrado "); }
else {
System.out.println("Digite o nome do secretário");
secretario.nome=sc.nextLine();
System.out.println("Digite o cpf do secretário");
secretario.cpf=sc.nextLine();
System.out.println("Digite o endereço do secretário");
secretario.endereço=sc.nextLine();
System.out.println("Digite a data de nascimento do secretário");
secretario.data_nascimento=sc.next();
}
}
public void cadastrarTurma(){
Scanner sc = new Scanner(System.in);
System.out.println("Cadastro de turma");
System.out.println("1-cadastrar 1° serie ");
System.out.println("2-cadastrar 2° serie ");
System.out.println("3-cadastrar 3° serie ");
System.out.println("4-cadastrar 4° serie ");
System.out.println("5-cadastrar 5° serie ");
int opp_turma;
opp_turma=sc.nextInt();
switch(opp_turma)
{
case 1:
turma=new Turma();
turma.setSerie("1");
System.out.println("Digite o tamanho da turma "+ opp_turma);
turma.setTamanho(sc.nextInt());
lista_turma1.add(turma);
break;
case 2 :
turma=new Turma();
turma.setSerie("2");
System.out.println("Digite o tamanho da turma "+ opp_turma);
turma.setTamanho(sc.nextInt());
lista_turma2.add(turma);
break;
case 3:
turma=new Turma();
turma.setSerie("3");
System.out.println("Digite o tamanho da turma "+ opp_turma);
turma.setTamanho(sc.nextInt());
lista_turma3.add(turma);
break;
case 4 :
turma=new Turma();
turma.setSerie("4");
System.out.println("Digite o tamanho da turma "+ opp_turma);
turma.setTamanho(sc.nextInt());
lista_turma4.add(turma);
break;
case 5 :
turma=new Turma();
turma.setSerie("5");
System.out.println("Digite o tamanho da turma "+ opp_turma);
turma.setTamanho(sc.nextInt());
lista_turma5.add(turma);
break;
default:
break;
}
}
}
public class Turma
{
private Professor professor;
private Aluno[] aluno;
private String serie;
private int tamanho;
public Professor getProfessor() {
return professor;
}
public void setProfessor(Professor professor) {
this.professor = professor;
}
public String getSerie() {
return serie;
}
public void setSerie(String serie) {
this.serie = serie;
}
public int getTamanho() {
return tamanho;
}
public void setTamanho(int tamanho) {
this.tamanho = tamanho;
}
public Aluno[] getAluno() {
return aluno;
}
public void setAluno(Aluno[] aluno) {
this.aluno = aluno;
}
}
[/code]
O diretor Cadastrara o secretario, professores e turmas(inclui o limite de aluno em cada turma).
O secretario vincula os professores nas turmas criadas pelo diretor e cadastra os alunos nas turmas com seus respectivos dados .
O professor será vinculado a somente uma turma e colocara as notas e freqüência dos alunos.
O aluno será vinculado a somente uma turma e cosenquetemente a um professor e vai ter as notas e a frequencia.
Para ficar mais simples o programa vai ter apenas 5 turmas.
e cada turma vai ter 8 materias.
Espero que alguem me ajude a resolver esse problema de acesso(QUE ESTÁ NO CODIGO EM FORMA DE COMENTÁRIO)…
Agradeço desde já