Relacionar classes e metodos de um programa

4 respostas
S

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.

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;
}


}

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á

4 Respostas

JuniorMaia
if(aluno.getSerie()==1 && lista_alunos1.size()<)

menor que o que?

S

Que o tamanho da turma.
Queria colocar lista_turma1.turma.getTamanho()
em cada um desses ifs

S

Que o tamanho da turma.

if(aluno.getSerie()==1 && lista_alunos1.size()<lista_turma1.turma.getTamanho()) // não tenho acesso a essa lista

Queria colocar em cada um desses ifs

S

Alguem?

Criado 17 de maio de 2012
Ultima resposta 18 de mai. de 2012
Respostas 4
Participantes 2